дальше быдлокод еще больше, массив потрошить, есть более красивый способ, но так как попробовать не на чем сейчас, не напишу
дальше быдлокод еще больше, массив потрошить, есть более красивый способ, но так как попробовать не на чем сейчас, не напишу
там один запрос можно сделать, просто если есть у кого время до сообразит
select * from user join (select count(*) from post_forum as cnt where id_user = user.id) on user.id = post_forum.id_user order by cnt desc limit 20
Koenig, я тоже насчёт одного запроса думал. Но тоже - нет где пробовать. Если бы у ТС Джон был - тогда другое дело. А то методом тыка писать код я не хочу.
ValekS, структура то есть, тот запрос выше из головы, думаю он работать не будет, но там примерно как то так
Логичное решения без JOIN
Автор добавь в таблицу users ячейку с forum_post и поставь счетчик при добавлении поста.
И будет тебя счастье.
# blackvj (12.08.2013 / 20:56)Не спорю,проще.Но уже поздно,я и так сделал.
Логичное решения без JOIN
Автор добавь в таблицу users ячейку с forum_post и поставь счетчик при добавлении поста.
И будет тебя счастье.
# Koenig (12.08.2013 / 12:49)ааа не помог этот код.
Andrei4ik93, если быдлокодить то,
$arr = array();
$sql = mysql_query("select id, nick from user");
while($row = mysql_fetch_row($sql)) {
$count = mysql_result(mysql_query("select count(*) from p
# Koenig (12.08.2013 / 18:46)А этот код я ниасилил
там один запрос можно сделать, просто если есть у кого время до сообразит
select * from user join (select count(*) from post_forum as cnt where id_user = user.id) on user.id = post_forum.id_user orde
Помогите пожалуйста
Andrei4ik93, добрался до компа
$sql = mysql_query("SELECT user.*, COUNT(forum_post.id) AS cnt FROM user JOIN forum_post ON (user.id = forum_post.id_user) GROUP BY user.id order by `cnt` desc limit 20");
while($row = mysql_fetch_assoc($sql)) {
echo '<div>Пользователь: <a href="/user/id=' . $row['id'] . '">' . $row['nick'] . '</a> Постов: '. $row['cnt'].'</div>';
}