2012-11-14 6 views
-3

Im пытается сказать, если переменная на моей странице равна нулю, тогда echo X, else echo Y.Ошибка PHP If/Else, синтаксическая ошибка?

У меня есть следующее, которое, я считаю, прав, только моя страница не отображает? Может ли кто-нибудь увидеть, где я ошибаюсь?

if($row["build"] == ""){ echo . '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' . } else { echo '<dt>Age:</dt><dd>' . $row["Age"]; . '</dd></dt>'}; 
+0

Парсер PHP обычно видит синтаксические ошибки. Он также сообщает об ошибках, если они не отключены. Точки, кстати. – mario

+0

Формат с правильным отступом и дополнительными операторами '.' concat после' echo' и before '} else {' станет очевидным. –

+0

при разработке/тестировании вы должны ВСЕГДА включить error_reporting/display_errors. делает жизнь так легко, что НЕ скрывает от вас ошибки. –

ответ

1

Есть несколько синтаксических ошибок здесь

if($row["build"] == ""){ echo **.** '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' . } else { echo '<dt>Age:</dt><dd>' . $row["Age"]**;** . '</dd></dt>'}**;** 

должно быть:

if($row["build"] == ""){ echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>'; } else { echo '<dt>Age:</dt><dd>' . $row["Age"] . '</dd></dt>';} 

или еще лучше:

if($row["build"] == ""){ 
    echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>'; 
}else{ 
    echo '<dt>Age:</dt><dd>' . $row["Age"] . '</dd></dt>'; 
} 
+0

or, 'echo '

Возраст:
', ($ row ['build']? $ Row ['Age']: ' Информация не предоставлена ​​'), '
'; ': P – cHao

+0

Мне нравится ваш стиль сэр :) –

0

Точка для конкатенации строк так php ожидает строку до и после точки:

echo . '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' . 

должно быть:

echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>' 
0

Здесь вы идете ... Вы должны использовать isset для этого (с восклицательным знаком до того, чтобы сигнализировать not). Кроме того, я удалил несколько периодов.

if(!isset($row['build'])){ 
    echo '<dt>Age:</dt> <dd><span class="noinf">No information provided</span></dd>'; 
} else { 
    echo '<dt>Age:</dt><dd>'.$row["Age"].'</dd></dt>'; 
} 
2

Вы . и ; бросили там все старые, как, это вызывает синтаксическую ошибку, и вы, вероятно, display_errors инвалидов.

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