SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.09.2009 20:23:32

Nsk007
Участник
Откуда: Новосибирск
Зарегистрирован: 07.09.2009
Сообщений: 3

Уважаемые, помогите с запросом!

Здравствуйте, уважаемые форумчане!
Что-то 6 часов просидел над кодом, так и не понял.
Имеется код:


$query = "SELECT * FROM $table WHERE n != ''";
        $res = mysql_query($query) or die(mysql_error());
        $raiders = mysql_num_rows($res);
           
            for($a_num=1;$a_num<=$raiders;$a_num++)
                {
            $table="music_albums";
                $query = "SELECT * FROM $table WHERE n = '$a_num' ORDER BY 'year'";
                $res = mysql_query($query) or die(mysql_error());
                $row = mysql_fetch_array($res);
                           
                $album_artist=$row[artist];
                $album_title=$row[title];
                $album_year=$row[year];
                $album_about=$row[about];
               
                                           
                        echo('
                              <tr>
                                  <td class="list" style="padding:4px"><a href="?page=album&n='
.$a_num.'"><img src="../albumarts/44_'.$a_num.'.jpg" border=0 /></td>
                                <td class="list"><a href="?page=album&n='
.$a_num.'">'.$album_title.'</td>
                                <td class="list" align="center">'
.$album_year.'</td>
                              </tr>

Согласно коду, выводится таблица, с музыкальными альбомами,принадлежащими конкретному исполнителю, в котором альбомы сортируются по порядковому номеру, согласно порядку добавления их на сайт. Хотелось бы сделать таК, что бы сортировка была по переменной $album_year.
Попробовал сделать это с помощью ORDER BY в строке:

$query = "SELECT * FROM $table WHERE n = '$a_num' ORDER BY 'year'";
 

Ничего не вышло!
Подскажите, как быть? hmm

Отредактированно Nsk007 (07.09.2009 20:38:33)

Неактивен

 

#2 07.09.2009 22:38:05

DJK
Завсегдатай
Зарегистрирован: 09.08.2009
Сообщений: 32

Re: Уважаемые, помогите с запросом!

$query = "

SELECT * FROM $table WHERE n = '$a_num' ORDER BY year
";
год без кавычек, так как mysql вопринимается year строкой, а как не поле таблицы

Неактивен

 

#3 08.09.2009 07:04:35

Nsk007
Участник
Откуда: Новосибирск
Зарегистрирован: 07.09.2009
Сообщений: 3

Re: Уважаемые, помогите с запросом!

Спасибо за совет, но все равно не сортирует альбомы по году sad

Неактивен

 

#4 08.09.2009 12:48:32

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Уважаемые, помогите с запросом!

Тем не менее, запрос правильный, я бы только еще поставил бэктики вокруг года
(все-таки, зарезервированное слово):

SELECT * FROM $table WHERE n = '$a_num' ORDER BY `YEAR`

Неактивен

 

#5 10.09.2009 18:19:45

Nsk007
Участник
Откуда: Новосибирск
Зарегистрирован: 07.09.2009
Сообщений: 3

Re: Уважаемые, помогите с запросом!

Спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson