• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

MySQL: вывод заголовков из базы в обратном порядке

  • Автор темы Terabyte
  • Дата начала
Статус
Закрыто для дальнейших ответов.
T

Terabyte

У меня есть скрипт , который выводит на экран из СКЛ базы список статей. Я хочу чтобы он их выводил не с верху (таблицы) вниз, а с низу вверх. Вот код:

$rows_hack=mysql_num_rows(mysql_query("select * from $table");
$result_hack=mysql_query("select name_exploit, id, date FROM $table");
echo "<ul>\n";
for($i=$rows_hack;$i>0;$i--) {
mysql_data_seek($result_hack,$i);
$array_exp=mysql_fetch_array($result_hack);
echo "<li><b><a href=\"exploit.php?go=".$array_exp["id"]."\">".$array_exp["name_exploit"]."</a></b> <i>".$array_exp["date"]."</i></li>\n";
};
echo "</ul>\n\n";

Но эта гадина =) почему то выводит ошибку:
Warning: mysql_data_seek(): Offset 5 is invalid for MySQL result index 9 (or the query data is unbuffered) in f:\localhost\html\web-hack\exploit\index.php on line 28
Потом выводит ссылку на первую статью, а толкьо потом все ссылки идут как я и хотел (снизу вверх). В чем проблема?

Хм... Если использовать такой цикл:

$i=$rows_hack;
while ($i>0) {
$i--;
mysql_data_seek($result_hack,$i);
$array_exp=mysql_fetch_array($result_hack);
echo "<li><b><a href=\"exploit.php?go=".$array_exp["id"]."\">".$array_exp["name_exploit"]."</a></b> <i>".$array_exp["date"]."</i></li>\n";
};

То все ок =)
 
A

admin

замени
mysql_data_seek($result_hack,$i);
на
mysql_data_seek($result_hack,$i) or die(mysql_errno() . ": " . mysql_error(). "\n");
и посмотри что говорит.

и цикл как

for($i=$rows_hack-1;$i>=0;$i--)
 
S

Sir Alex

А не проще ли и не быстрее ли:

$result_hack=mysql_query("select name_exploit, id, date FROM $table ORDER BY ID DESC"
while ( $array_exp=mysql_fetch_array($result_hack) )
echo "<li><b><a href=\"exploit.php?go=".$array_exp["id"]."\">".$array_exp["name_exploit"]."</a></b> <i>".$array_exp["date"]."</i></li>\n";
};

З.Ы. Правда это при условии, что ID записи постоянно увеличивается (если нет, можно использовать поле "date")
 
A

admin

Sir Alex
Можно и так. Вариантов много :D Главное найти наиболее оптимальный
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!