Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите отсортировать
 
 автор: Almaz   (24.08.2009 в 05:22)   письмо автору
 
 

Здравствуйте.
Необходимо отсортировать пользователей у которых $col_ref больше, те выше должны стоять.
Как из этого куска кода сделать такую сортировку (можно и не запросом)?

<?
$sql_rating_users 
mysql_query("SELECT id, login FROM users");
$rating_users mysql_fetch_array($sql_rating_users);

while(
$rating_users mysql_fetch_array($sql_rating_users)){
$id_user intval($rating_users['id']);
$login_user htmlspecialchars(trim($rating_users['login']));
$col_ref mysql_num_rows(mysql_query("SELECT * FROM users WHERE ref='$id_user'"));
echo 
'<p>Пользователь: '.$login_user.'<br/>
Рефералов: '
.$col_ref.'</p>';
}
?>

  Ответить  
 
 автор: Fractured   (24.08.2009 в 07:06)   письмо автору
 
   для: Almaz   (24.08.2009 в 05:22)
 

SELECT u.id, u.login, COUNT(r.id) AS qty_ref FROM users AS u LEFT JOIN users AS r ON u.id = r.ref GROUP BY u.id ORDER BY qty_ref DESC


Крайней советую изучить многотабличные запросы с использованием JOIN'ов. На практике они нужны на каждом шагу.

  Ответить  
 
 автор: Almaz   (24.08.2009 в 07:08)   письмо автору
 
   для: Fractured   (24.08.2009 в 07:06)
 

ой.. а можете этот запрос вставить в мой код? А то я даже и не понял как его применить.
За совет спасибо, обязательно почитаю.
Только вот это мне надо срочно =(

  Ответить  
 
 автор: Fractured   (24.08.2009 в 07:12)   письмо автору
 
   для: Almaz   (24.08.2009 в 07:08)
 

<?php
$q 
'SELECT u.id, u.login, COUNT(r.id) AS qty_ref FROM users AS u LEFT JOIN users AS r ON u.id = r.ref GROUP BY u.id ORDER BY qty_ref DESC';
$r mysql_query($q);

while( 
$row mysql_fetch_assoc($r) )
{
    
$login_h htmlspecialchars($row['login']);

    echo 
"<p>Пользователь {$login_h}. Рефералы: {$row['qty_ref']}</p>";
}


P.S. В след. раз писать не буду

  Ответить  
 
 автор: Almaz   (24.08.2009 в 07:15)   письмо автору
 
   для: Fractured   (24.08.2009 в 07:12)
 

Большое спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования