A kid from The Ural's

У меня в БД есть поле avatar, в нем хранится ссылка на аватар юзера, которая на странице профиля показывает сам аватар, но если аватара нет, то показывается крестик (типа нет такого изображения). Как сделать так, что в случае отсутствия каких-либо данных в поле avatar в БД, эта переменная не выводилась?




читать дальше


<textarea readonly></textarea></p><p><? include ('connection.php'); ?>
<? 
if ($_GET['id']) { 
   
$result mysql_query("SELECT * FROM test WHERE id = {$_GET['id']}"<img alt="b)" src="static.diary.ru/picture/1136.gifclass="smile">;
   
$row mysql_fetch_assoc($result); 
   
$page_title $row[nick]; 
    include(
'hinf.php');
   
?>
<body></p><div id="\">
<div id="\">
<p align="left">
<?  print "

"
;
    print 
"<img src="static.diary.ru/spanspan"color: #0000BB">http://%24row%5Bavatar%5D">";
   
print "

"
;
    print 
$row[faculty];
    print 
"

"
;
    print 
"ICQ:
"
;
    print 
"</img src="static.diary.ru/spanspan"color: #0000BB">http://web.icq.com/whitepages/online?icq=%24row%5Bicq%..." height="17" width="17">";
   
print $row[icq];
    print 
"

"
;
    print 
$row[course];
    print 
"

"
;
    print 
$row[points];
    print 
"

"
;
    print 
"@дневник:
"
;
    print 
"<a color: #0000BB">_blank" href="http://http
://%24row%5Bdiary%5D">".$row[diary]."</a>"; 
   
$page_title $row[nick]; 
}
?></p>
</div>
<div id="\">
<h2><? print $row[nick]; ?></h2>
<p>
<? print $row[info]; ?></p><p> </p></div>
</div><p></html>




@темы: PHP, Вопросы

Комментарии
19.01.2008 в 23:48

Крайне злопамятное хамло ;)
if ($row[avatar]) print $row[avatar];
20.01.2008 в 05:04

<?=(!empty($row['avatar']))?$row['avatar']:""?>

PS. я бы рекоммендовал начать приучать себя к более "чистому" коду
20.01.2008 в 23:36

Я не бог, я так низко не опускаюсь.
Kuroi Kitsune тогда уж лучше не <?= а <?php= или print.
Если приучаться, то полностью.
20.01.2008 в 23:53

Цветной мир
Согласен с предыдущими ораторами, но больше с Kuroi Kitsune. И вопрос к аффтару: а нафиг ВЕСЬ код было вываливать? Чтобы хуже читалось? Я вот тоже могу пару тысяч строк забацать сюда, попросив указать баг в виде пропуска одной буквы в переменной...
20.01.2008 в 23:55

Крайне злопамятное хамло ;)
А я пишу так, чтобы потом еще можно было другому человеку понять о чем речь и, возможно, что-то добавить)
Код такого вида <?=(!empty($row['avatar']))?$row['avatar']:""?>
Просто не переношу)
21.01.2008 в 00:19

lugavchik
<php - не является признаком чистого кода.
Это исключительно дело привычки.
А print() - с каких пор он "правильнее"?


~Co0L~
Не знаю, это зависит от того кто читать код будет.
Я такой синтаксис с лёта воспринимаю.
21.01.2008 в 00:24

Я не бог, я так низко не опускаюсь.
Kuroi Kitsune
выставит хостер short_open_tag = Off и уже <? не будет распознаваться.
хотя бы с той, что мешать html и php не есть хорошее дело. Потом всё равно приходится переделывать такое.
21.01.2008 в 00:47

lugavchik
1. Таких хостеров - в лес.
2. Я вас заверяю - переделывать не приходится. И HTML с PHP будет смешан. Просто надо во всём знать меру. Или вы о разделения кода и вывода? Ну так это весь приведённый скрипт переписать надо. Чтобы яблоки отдельно от помидоров были.
21.01.2008 в 00:54

Kuroi Kitsune
Или вы о разделения кода и вывода?
+1 , шаблоны и ещё раз шаблоны в любых проявлениях)
а код вида <? $x = isset($r) ? 1 : 0 ?> является моим любимым способом поставить в тупик ASPшника или там делфиста )
21.01.2008 в 00:58

Я не бог, я так низко не опускаюсь.
Kuroi Kitsune
1. проекты будут поддерживать и после тебя, а значит надо чтобы было как можно меньше косяков, в случаем смены ПО. А написать лишние 3 символа, я думаю не будет убийственным. Или большинство крупных проектов злоупотребляют и пишут именно с php?
2. Считаю, что код и дизайн, с оформлением лучше хранить раздельно. А в понимании когда код в одном месте, а оформление в другом значительно выигрывают по скорости, а уж про внедрении одного в другое я и не говорю.
21.01.2008 в 01:26

1. Я ещё не встречал ни одного хостинга где это было бы отключенно. Если же такой есть - легко решится ini_set() или в .htaccess
2. А кто-то спорит? Я приводил решение для конкретного примера.
21.01.2008 в 01:33

Я не бог, я так низко не опускаюсь.
Kuroi Kitsune
1. Не отменяли, но зачем думать об этом?
2. В конкретном примере ты явно потерял некоторые значения ;)
21.01.2008 в 01:38

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
lugavchik
1. Сомневаюсь что в будущем кто-то из хостеров будет выключать эту директиву. Как раз из соображений наибольшей совместимости сервиса - хостерам выгодно когда у конечного пользователя меньше вопросов - меньше нагрузка на тех. поддержку. =)
21.01.2008 в 01:38

1. А я и не думаю. Я пишу как удобно и без напряжения.
2. У меня изначально весьма криво был показан "проблемный код". Мне кажется, что его совсем недавно "причесали" либо автор, либо модератор. Так что я писал ответ на описанную проблему опираясь на то, что было видно.
21.01.2008 в 01:46

Я не бог, я так низко не опускаюсь.
FVA Ситуации могут быть разные, вплоть до увольнения админа, и его прощальной пакости, которая проявится только после перезапуска сервера, может через год...

Kuroi Kitsune Спор без результата будет, каждый останется при своём.
2. А код вроде не меняли.... или я уже видел изменённый?
21.01.2008 в 01:53

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
lugavchik У нормального хостера, если такая ситуация и возникнет, она решиться за 10 минут. =) А пользоваться услугами других хостеров... 1. Таких хостеров - в лес. =)
Просто если так рассуждать, то тогда скрипты лучше вообще не использовать, ибо есть директива disable_functions и может оказаться что злой админ запретит print, isset и так далее. =)
21.01.2008 в 02:18

lugavchik
Скорее всего да.
21.01.2008 в 07:39

Я не бог, я так низко не опускаюсь.
FVA Это если знать где оно и что не работает. А если сайт просто начинает выводить исходный код....
21.01.2008 в 08:03

Будем же учиться хорошо мыслить - вот основной принцип морали (с) Паскаль
lugavchik В первую очередь как раз и надо проверять конфигурацию сервера. =) Признаю, я бы первое что проверял - это конфиг апача, а не настройки пхп, но в php.ini не забыл бы заглянуть точно. =) На самом деле, вся эта ситуация - из области фантастики и не стоит дальнейшей полемики. =) Если подвести итог всего нашего флейма - когда стоит задача создания максимально совместимой системы, стоит использовать <?php, но при этом отказаться от использования многих удобных модулей. В случае же работы со стандартными хостинг-системами, можно не изменять привычке и использовать любую привычную форму =)
21.01.2008 в 09:33

код "причесали" - пропустили через подсветку)

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail