Начинающий, если заявление поможет - PullRequest
1 голос
/ 08 августа 2009
if ($row['active'] == 1) echo '<a href="prof?id=$id">'.htmlspecialchars($row['username']).'</a>'; else echo htmlspecialchars($row['username']);

Могу я как-нибудь написать это покороче и чище?

Ответы [ 3 ]

4 голосов
/ 08 августа 2009
echo $row['active'] == 1 ?  '<a href="prof?id=$id">'.htmlspecialchars($row['username']).'</a>' : htmlspecialchars($row['username']);

немного объяснил здесь http://www.addedbytes.com/php/ternary-conditionals/

1 голос
/ 08 августа 2009

Я предполагаю, что вы допустили ошибку, поместив $ id в строку, заключенную в одну кавычку, и хотели, чтобы php поместил туда значение $ id.

$name=htmlspecialchars($row['username']);
if($row['active'] == 1) {
    echo "<a href='prof?id=$id'>$name</a>";
} else {
    echo $name;
}
0 голосов
/ 08 августа 2009

Вы можете воспользоваться троичным оператором :

echo ($row['active'] == 1) 
    ? '<a href="prof?id=$id">'.htmlspecialchars($row['username']).'</a>'
    : htmlspecialchars($row['username'])
;

(Я делю код на отдельные строки для форматирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...