При случайном предположении, что другая таблица может называться accounts
, а uname
является ее первичным ключом, вы можете сделать JOIN
, чтобы получить данные из обеих таблиц за один раз. Если вы можете уместить то, что хотите сделать, в один запрос, который обычно намного быстрее, чем выполнение дополнительного запроса для строки
<?php
$result = mysql_query(
"SELECT comment.*, account.url AS imgurl ".
"FROM comment JOIN account ON comment.uname=account.uname ".
"WHERE comment.uname='".mysql_real_escape_string($idx)."'"
);
?>
<?php while($row = mysql_fetch_array($result, MYSQL_ASSOC)) { ?>
<img src="<?php echo htmlspecialchars($row['imgurl']) ?>" alt="" class="mainimage" />
<?php } ?>
Примечания:
вам нужно экранировать текст, вставленный в запрос SQL, или у вас возникли серьезные проблемы с безопасностью. Используйте mysql_real_escape_string
или позвольте параметризованным запросам обработать его;
аналогично, когда вы помещаете текст в строку HTML, необходимо htmlspecialchars
, или у вас есть другие (менее серьезные, но все еще не очень хорошие) проблемы безопасности;
вы не должны использовать один и тот же id
для элемента более одного раза (что будет в цикле). То же самое относится к name
на <img>
, хотя есть небольшая причина, по которой вы действительно захотите использовать img name
;
width="75px"
не будет работать в атрибуте, так как px
- измерения блока - это CSS, а не HTML. Опустите модуль, или, лучше, установите правило в CSS (.mainimage { width: 75px; height: 60px; }
), чтобы сделать их все сразу.