#php #mysql #html #database
#php #mysql #HTML #База данных
Вопрос:
У меня есть база данных с таблицей singe и двумя полями в указанной таблице, идентификационный номер и имя файла. Я использую эту базу данных, чтобы разрешить подкачку в php-скрипте, чтобы я мог показывать определенное количество фотографий на странице.
Вот первые 5 полных запросов и код, который я использую для извлечения из базы данных:
1 - DSC_5480.jpg
2 - DSC_5483.jpg
3 - DSC_5487.jpg
4 - DSC_5488.jpg
5 - DSC_5489.jpg
И код для печати этого в HTML:
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 25;
$data = mysql_query("SELECT * FROM $db_base.$db_tble LIMIT $start_from, 25")
or die(mysql_error());
$pictures = mysql_fetch_array( $data );
while($pictures = mysql_fetch_array( $data ))
{
echo "tt" . '<img src="images/' . $pictures['filename'] . '" alt="' . $pictures['filename'] . '" />' . "n";
}
Проблема, с которой я сталкиваюсь, заключается в том, что первая запись в таблице пропущена, как вы можете видеть из HTML-кода.
<img src="images/DSC_5483.jpg" alt="DSC_5483.jpg" />
<img src="images/DSC_5487.jpg" alt="DSC_5487.jpg" />
<img src="images/DSC_5488.jpg" alt="DSC_5488.jpg" />
<img src="images/DSC_5489.jpg" alt="DSC_5489.jpg" />
<img src="images/DSC_5491.jpg" alt="DSC_5491.jpg" />
Итак, мой вопрос в том, что я делаю не так, чтобы не разрешать отображение первой записи?
Комментарии:
1. Вы пробовали использовать
ORDER BY
предложение для изменения порядка вашего результирующего набора?2. @Brandon какое значение имеет ‘ $start_from’ при выполнении запроса? вы пробовали печатать это значение?
Ответ №1:
Взгляните на фрагмент кода, вы должны дважды написать это утверждение : $pictures = mysql_fetch_array( $data );
Это должно быть,
$data = mysql_query("SELECT * FROM $db_base.$db_tble LIMIT $start_from, 25")
or die(mysql_error());
while($pictures = mysql_fetch_array( $data ))
{
echo "tt" . '<img src="images/' . $pictures['filename'] . '" alt="' . $pictures['filename'] . '" />' . "n";
}
Комментарии:
1. Спасибо! совершенно не осознавал, что я это сделал, но теперь я вижу, где это все портит.