Почему выбирает всего одну строку а не все какие есть

sx000

Постоялец
Регистрация
6 Дек 2006
Сообщения
139
Реакции
60
PHP:
$query = "SELECT * FROM wp_eng_posts WHERE post_status = 'publish' AND post_type = 'post'";
$res = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($res);
print_r($row);
Но строк намного больше а он выводит только первую найденую
 
PHP:
$query = "SELECT * FROM wp_eng_posts WHERE post_status = 'publish' AND post_type = 'post'";
$res = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($res)) {
    print_r($row);
}
За один раз mysql_fetch_array берет только один результат из выборки
 
а что надо использовать, mysql_fetch_assoc тоже не дает нужный вариант.
 
вообще задача такова что мне надо сделать случайную выборку из Wordpress таблицы постов. Те нужно выбрать случайны пост который соответствуе
wp_eng_posts WHERE post_status = 'publish' AND post_type = 'post'
ORDER BY RAND() читал про него, многие пишут что оно LA просто сильно умножает на серваке. По этому вот ищу решение рандомной выборки постов.
 
ORDER BY не каткит, сильно сервак грузит
 
Потому что mysql_fetch_array работает с текущим положением внутреннего указателя, который перемещается с каждым вызовом mysql_fetch_array.

WHERE RAND()>0.9 ORDER BY RAND() значительно экономит ресурсы, хотя и сужает результаты выборки

также можно попробовать
SELECT FIRST 1 * FROM wp_eng_posts ORDER BY rand()

или добавить LIMIT 1 в конце

23.11.2012: Для просмотра ссылки Войди или Зарегистрируйся интересное обсуждение топика.
 
Назад
Сверху