Вывод нескольких изображений при помощи цикла

Zerras

Новичок
Всем доброго времени суток!
Возникла проблема при работе с БД, которую пока не удается решить в одиночку.
Задача: Вывести на странице браузера все изображения из БД (изображения загружены в таблицу вида id - image).
Проблема: При записанном ниже коде на страницу выдается только первое изображение. Думаю что ошибка в цикле где-то. Но понять не могу.
Перешерстил кучу форум - подобных проблем множество, но со своей так и не справился.
Заранее спасибо!

Код страницы, где необходимо отобразить изображения (html-часть вырезана):
<?
$query = "SELECT id, lot, price, description, Image FROM child";
$sql = mysql_query ($query);
while ($row = mysql_fetch_object($sql))
{
$id = $row -> id;
$lot = $row -> lot;
$price = $row -> price;
$description = $row -> description;
$Image = $row -> Image;
echo "<tr>";
echo "<td>$lot</td>";
echo "<td>$price</td>";
echo "<td>$description</td>";
echo "</tr>";
}
mysql_close($dp);
?>
<img src="Image.php">

Код страницы Image.php:
<?php
include ("mysql.html") // Обращение к БД
?>
<?
$query = "SELECT `id` FROM `child`"; // Выбираем нужные столбцы из БД
$sql = mysql_query ($query);
while ($row = mysql_fetch_object($sql))
{
$id = $row -> id;
$query = "SELECT `Image` FROM `child` WHERE id";
$res = mysql_query($query); // Выполняем запрос и получаем файл
while ( $image = mysql_fetch_array($res))
{
header("Content-type: Image/jpeg"); // Отсылаем браузеру заголовок с изображением
echo $image['Image']; // И передаем сам файл
}
}
?>
 

Zerras

Новичок
Этот скрипт:
<img src="Image.php">
Пробовал также записать в виде:
<img src="Image.php?id= <?= $id?> ">
Результат - не помогло...
 

Beavis

Banned
Проблема: При записанном ниже коде на страницу выдается только первое изображение. Думаю что ошибка в цикле где-то. Но понять не могу.
Перешерстил кучу форум - подобных проблем множество, но со своей так и не справился.
значит ты не до конца понимаешь как работает твой(?) код
http://phpfaq.ru/debug
 

cwi-master

Новичок
Ужас... Зачем столько обращений к бд?! Зачем вложеные циклы?
Основная ошибка тут ваша - туча запутаного излишнего кода!
зачем ЭТО?! " ->"? чтобы самого себя запутать? Почему нельзя пользоваться, более простыми и логичными операторами?

С поставленой вами задачей, вполне справиться этот код:
PHP:
$imgpath="immages/"; //каталог изображений
$html="<table>";

$r= mysql_query ("SELECT * FROM `child`");
while ($f = mysql_fetch_array($r)){ $html.="<tr><td>".$f['price']."</td><td>".$f['lot']."</td><td>".$f['description']."</td><td><img src='{$imgpath}".$f['image']."'></td></tr>"; }
$html="</table>";

echo $html;
Но я бы вообще, отправлял клиенту лишь сами данные, аяксом, и уже в его браузере, формировал таблицу, чтобы не пересылать лишний html-код и не перезагружать страницу.

А если так уж хочется, выдавать клиенту изображения скриптом, то сделайте скрипт, который бы просто получал из запроса имя нужного изображения, брал его, из недоступной для клиентов папки, и выдавал в поток. зачем ради этого тревожить БД?
 

baev

‹°°¬•
Команда форума
cwi-master, Вы точки пропустили.

Только исправлять код не надо: пусть тредстартер хоть что-то сам сделает.
 
Сверху