| Пытаюсь вывести на сайте новости (все последнии). Новости выводятся в цикле.
<?
$result = mysql_query("SELECT * FROM novosti",$db);
if (!$result)
{
printf ("<p>Запрос не выполнен</p>");
exit();
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("
<table align='center' width='450' border='1'>
<tr>
<td width='100' valign='top' background='#CCCCCC'>Фото для новости</td>
<td width='350'><table width='350' border='0.1'>
<tr>
<td height='107' valign='top' background='#CCCCCC'>
<p align=left>Название: <strong>%s</strong></p>
<p align=left>%s</p>
</td>
</tr>
<tr>
<td valign='top' background='#CCCCCC'>Добавлено: %s</td>
</tr>
</table>
</td>
</tr><br>
</table>
",$myrow["name"],$myrow["mini_opisanie"],$myrow["date"]);
}
while ($myrow = mysql_fetch_array($result));
}
else
{
printf ("Данные не найдены");
exit();
}
?>
Т.е. это обычный цикл, который выводит данные из 1 таблицы.
Задача в том, что
<td width='100' valign='top' background='#CCCCCC'>Фото для новости</td>
Заместо надписи "фото для новости" я хочу выводить фото для новсти :)
Создана специальная таблица, которая хранит ссылки на фотографии для всех новостей
Т.е. мы имеем 2 таблицы
1)
NOVOSTI:
novost_id (Идентификатор, автоинкримент)
name (имя новости)
mini_opisanie
date (дата новости)
2)
FOTO:
id (автоинкримент)
novost_id
adres_foto
По идеи эти таблицы ведь нужно соединить, и вытаскивать из них данные, потом загонять в тот цикл, но проблема в том, что когда я их просто соединяю join ом, где novost_id одной таблицы = novost_id другой таблицы выводятся не все новости, а только те, для которых есть фотка (так как они соединяются по этому идентификатору). Как сделать так, чтобы новости выводились все, а фотка для этой новости выводилась в том случае, если в таблицы с фотками есть хоть одна фотка для этой новости?
Думал насчет того, что при добавлении новости, сделать так, что если фотка к ней не загружена, автоматически вставляется фотка на которой написано что-нибудь типа (нет изображения), Но тогда при добавлении этой новости, запись будет происходить в 2 поля, ну а если получится так, что фотка не запишется, а новость запишется, то она все-равно не отобразится. Как тут лучше поступить?) тем более получится так, что в базе с фотками будет записано куча пустышек. Хотелось бы сделать оптимальный запрос. Спасибо. | |