php точка с запятой, есть проблемы с условным

1

Привет: Это мой первый вопрос... Поэтому, пожалуйста, будьте спокойны. :)

У меня большая часть моей проблемы решена, но я не могу понять одну мелочь... Вот моя структура базы данных...

RAK 0 ; none ; WCU ; gray ; 20C ; 40C ; grey ; grey ;
RAK 1 ; none ; WCU ; gray ; 20C ; 40C ; grey ; grey ;
RAK 2 ; none ; WCU ; gray ; 20C ; 40C ; red ; red ;
RAK 3 ; none ; ACU; gray ; 20C ; 40C ; red ; red ;

Вот моя переменная структура....

<?php

$rack = array();
if (($handle = fopen("status.txt", "r")) !== FALSE)
{
    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
    if(substr(trim($data[0]), 0, 3) == 'RAK')
    {
        $board = trim($data[0]);
        $temp = $data[2];
        $rack[ $board ] = $temp;
    }
   }
   fclose($handle);
    }
   ?>

У меня есть несколько divs рядом друг с другом, и они настроены на выпадение или нет. Дисплей важен, потому что, когда он не отображает ни одного, divs перемещаются рядом друг с другом, а не сохраняют пробел, когда вы скрываете div.

<div class="rack3wcu" style="display: <?php echo $rack['RAK 3']; ?>;">

Это действительно послужило мне очень хорошо, но теперь я получил кривую мяч с acu, wcu. Этот файл выплевывается из суперкомпьютера, и обычно ребята python выдают прямое слово, которое мне нужно эхо... но в этом случае мне нужно сделать что-то другое в зависимости от двух вариантов.

так что мне нужно, если это ACU, тогда echo none, иначе это WCU, тогда посылает другое эхо, говорящее "да", или вообще не зависящее от переключения...

Слушайте людей, я ужасен с условностями. Может ли кто-нибудь помочь брату?

  • 0
    ACU , WCU - это возможная переменная $rack['RAK 3'] ???
Теги:

2 ответа

0
Лучший ответ

Если "ACU" и "WCU" не являются единственными возможными значениями:

<div class="rack3wcu" style="display: <?php echo ( trim($rack['RAK 3']) == 'ACU') ? 'none' : ( ( trim($rack['RAK 3']) == 'WCU') ? 'block' : ''); ?>;"></div>
                       // Note that in this situation, you have to decide what to echo when the value is not ACU and not WCU ^^^^ 

Если "ACU" и "WCU" являются единственными возможными значениями, этого будет достаточно:

<div class="rack3wcu" style="display: <?php echo ( trim($rack['RAK 3']) == 'ACU') ? 'none' : 'block'; ?>;"></div>
  • 0
    Я хочу поблагодарить всех за помощь. Я собираюсь с MazzCris, потому что это то, что я почти понимаю ... В основном, заявление MazzCris говорит, что если data = ACU write write, если нет, write block? Когда я запускаю его, независимо от того, WCU или ACU он печатает блок. Я что-то пропустил? потому что это идеальный ответ. Я бы поставил да на место блока, а не на то, где он у вас есть.
  • 0
    @luvUI, вероятно, есть пробелы в значении $ rack ['RAK 3']. Я добавил в ответ trim (), чтобы попытаться решить эту проблему.
Показать ещё 2 комментария
0

Думаю, вы хотели бы что-то вроде этого:

<?php
foreach ($rack as $rackIdentifier => $rackType) {
    switch ($rackType) {
        case 'WCU':
?>
            <!-- display some html for WCU-->
<?php
            break;
        case 'ACU':
?>
            <!-- display some html for ACU -->
<?php
            break;
        default:
?>
            <!-- display some html for unknown type (not WCU, not ACU) -->
<?php
    }
}
?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню