2012-05-29 2 views
0

alrighty, так что я хочу сделать, должно быть ясно, код ниже, для каждой строки Я хочу запустить код с их, если заголовок равен 0, запустить первый if, если это 1 запустить второй.mysql query не получает правильный ответ ... или что-то

Проблема заключается в том, что не имеет значения, к чему я ее устанавливаю, она всегда запускает второй, если заголовок мышления с выражением всегда равен 1, даже если это не так.

, чтобы проверить я добавил эхо (INT) $ строки [ «заголовок»] на второй, если утверждение, и для каждой строки, он повторил 1.

Кто-нибудь есть какие-либо понятия о том, как я могу сделать это делать то, что я хочу?

Спасибо за помощь

мой PHP код:

$result = mysql_query("SELECT * FROM LeftMenu_items"); 
while ($row = mysql_fetch_assoc($result)) 
{ 
    if ((int)$row['header'] = 0) 
    { 
     // echos value is on or not 
     echo "<tr><td class='LeftMenu'><a href='" . $row['url'] . "'><b>" . $row['text'] . "</b></a></td></tr>\n"; 
    } 
    else if ((int)$row['header'] = 1) 
    { 
     // header 
     echo "<tr><td class='LeftMenu'>" . (int)$row['header'] . "<b>" . $row['text'] . "</b></td></tr>\n"; 
    } 
    else echo "error displaying url"; 

Моя таблица выглядит следующим образом:

structure: 
id int 
text text  
url text  
Header tinyint 

data: 
1 Home http://drudexflash.com/ 1 
2 test1 http://text.com/ 0 
3 ttt blahz 1 
4 nullnull ass 0 

ответ

2

Проблема заключается в том, что вы присваиваете переменной, а не сравнивая.

if((int)$row['header'] = 0) 

должен быть

if ((int)$row['header'] == 0) 

Это не редкость ошибка, так что я иногда делаю это изменить порядок величины и переменной, просто чтобы понять, что я сравниваю против назначения.

Пример:

if (0 = (int)$row['header']) // even if you don't catch this as incorrect 
          // php will throw a 'parse error' 
if (0 == (int)$row['header']) // correct, no error 

Некоторая полезная документация: http://www.php.net/manual/en/language.expressions.php http://www.php.net/manual/en/language.operators.comparison.php

+0

Это, по крайней мере, одна проблема с этим подход. –

+0

Хмм, это работает, но теперь я тоже получаю «Примечание: Неопределенный индекс:/path /» – user1071461

+0

'Примечание: неопределенный индекс:/path /', вероятно, происходит из другой части вашего кода. Кажется, вы не обращаетесь к индексу, подобному этому блоку. – Okonomiyaki3000

Смежные вопросы