[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Популярное
ValeryL
Пожалуйста, подскажите как сделать выборку. Например, есть таблица Статьи и из нее надо выбрать по двум полям Название и Прочитано три самые популярные. Названия вывести в три строки на экран.



Спустя 1 час, 52 минуты, 13 секунд (23.03.2011 - 10:08) T1grOK написал(а):
Ну так! Добавь к статьям еще одно поле в котором будет храниться количество посещений, а в запросе(выборке), где:
`name` - название;
`popul` - посещений;
`articles` - таблица со статьями.

SELECT `name`, `popul` FROM `articles` ORDER BY `popul` DESC LIMIT 3

Спустя 1 час, 4 минуты, 31 секунда (23.03.2011 - 11:12) ValeryL написал(а):
Цитата (T1grOK @ 23.03.2011 - 07:08)
Ну так! Добавь к статьям еще одно поле в котором будет храниться количество посещений, а в запросе(выборке), где:
`name` - название;
`popul` - посещений;
`articles` - таблица со статьями.

SELECT `name`, `popul` FROM `articles` ORDER BY `popul` DESC LIMIT 3

Спасибо! С этим понял, а вот как организовать вывод на экран. Т.е. мне нужен блок с выводом трех наиболее читаемых статей. Видимо нужно что-то вроде цикла.


while(list($pid, $title) = $db->sql_fetchrow($result)) {
$linkstrip = cutstr($title, $strip);
$content .= "<table cellspacing=\"0\" cellpadding=\"1\" border=\"0\"><tr><td><img src=\"images/blocks/Pages.gif\" title=\"$title\"></td><td><a href=\"index.php?name=Pages&op=page&pid=$pid\" title=\"$title\">$linkstrip</a></td></tr></table>";
}

Спустя 11 минут, 22 секунды (23.03.2011 - 11:24) T1grOK написал(а):
Не что то вроде, а именно цикл:

$result = mysql_query("SELECT `name`, `popul` FROM `articles` ORDER BY `popul` DESC LIMIT 3");
while($row = mysql_fetch_assoc($result)){
echo $row['name']; //название статьи
}

Спустя 26 минут, 11 секунд (23.03.2011 - 11:50) ValeryL написал(а):
Цитата (T1grOK @ 23.03.2011 - 08:24)
Не что то вроде, а именно цикл:

$result = mysql_query("SELECT `name`, `popul` FROM `articles` ORDER BY `popul` DESC LIMIT 3");
while($row = mysql_fetch_assoc($result)){
echo $row['name']; //название статьи
}

Спасибо за подсказку! Вкурил. Вот так отлично заработало:

global $prefix, $db;
$result = $db->sql_query("SELECT pid, title, counter FROM ".$prefix."_pages ORDER BY counter DESC LIMIT 5");
while(list($pid, $title) = $db->sql_fetchrow($result)) {
$content .= "<table cellspacing=\"0\" cellpadding=\"1\" border=\"0\"><tr><td valign=\"top\"><img src=\"images/blocks/Pages.gif\" title=\"$title\"></td><td><a href=\"index.php?name=Pages&op=page&pid=$pid\" title=\"$title\">$title</a></td></tr></table>";
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.