[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка по критерию и сортировка
Syrex
Есть запрос такого типа:

if(isset($_GET['val']))
$query = "SELECT * FROM `table_name` WHERE `id`= ".$_GET['val']."ORDER BY `date`";
$result = mysql_query ($query, $link);
$num_rows = mysql_num_rows($result);
while ($row = mysql_fetch_assoc($result))
{
echo $row['date']."<br>".$row['qq'];
}

По идее должен выводить дату и содержимое 'qq' (описание предмета в моем случае), при этом сортировать записи по дате, но почему то сортировки нет и информация не выводится. Если убираю из запроса сортировку, т.е. оставляю
$query = "SELECT * FROM `table_name` WHERE `id`= ".$_GET['val']
то информация выводится как надо. В чем проблема, подскажите пожалуйста.



Спустя 56 секунд (8.06.2010 - 21:15) waldicom написал(а):
пробел перед словом ORDER

Спустя 8 минут, 54 секунды (8.06.2010 - 21:24) Syrex написал(а):
waldicom
Блин, точно, благодарствую!)

Спустя 5 минут, 15 секунд (8.06.2010 - 21:29) Syrex написал(а):
ан нет) рано я обрадовался, информацию выводит, но не сортирует(

Спустя 40 минут, 22 секунды (8.06.2010 - 22:09) phz написал(а):
ORDER BY `date` DESC

Спустя 12 минут, 19 секунд (8.06.2010 - 22:22) Syrex написал(а):
DESC вроде говорит чтобы в обратном порядке сортировал, на убывание в смысле...но все равно не пашет.

Спустя 15 минут, 11 секунд (8.06.2010 - 22:37) waldicom написал(а):
просто не сортирует или ничего не выводит?
выведи $query, допиши после mysql_query() or die(mysql_error()) и приведи здесь выборку

Спустя 8 минут, 45 секунд (8.06.2010 - 22:46) Syrex написал(а):
выводить выводит, но не сортирует

Спустя 10 часов, 55 минут, 49 секунд (9.06.2010 - 09:41) tomash написал(а):
А `id` поле уникальное? Нужно глянуть на таблицу!

Спустя 22 минуты, 3 секунды (9.06.2010 - 10:04) Syrex написал(а):
tomash
Да, поле id - primary key

Спустя 23 минуты, 50 секунд (9.06.2010 - 10:27) tomash написал(а):
Ну тогда он должен отбирать одну запись - WHERE `id`= ".$_GET['val'].
Зачем сортировка?

Спустя 2 часа, 21 минута, 5 секунд (9.06.2010 - 12:48) Syrex написал(а):
tomash
Так дальше идет фрагмент:

while ($row = mysql_fetch_assoc($result))
{
echo $row['date']."<br>".$row['qq'];
}

Тут по идее и должен сортировать

Спустя 13 минут, 14 секунд (9.06.2010 - 13:02) SergeyZuzic написал(а):
Syrex
У тебя ид уникальный, поэтому всегда выбирается одна запись.
Если тебе надо вывести все то делай так
$query = "SELECT * FROM `table_name` ORDER BY `date` DESC";

Но походу он у тебя не уникальный т.к.:
Цитата
$query = "SELECT * FROM `table_name` WHERE `id`= ".$_GET['val']
то информация выводится как надо. В чем проблема, подскажите пожалуйста.

Если id уникальный запись может быть только 1, это факт!

Спустя 31 минута, 36 секунд (9.06.2010 - 13:33) tomash написал(а):
Syrex
Твой запрос отбирает одну запись, как можно сортировать ОДНУ запись? Хотя у меня есть подозрения, что запрос зациклен, и браузер показывает их много и не отсортированных.

Спустя 4 минуты, 40 секунд (9.06.2010 - 13:38) Syrex написал(а):
tomash
Да, все верно, мне нужно чтобы сортировались записи, выводимые в цикле.

Спустя 1 час, 13 минут, 49 секунд (9.06.2010 - 14:52) tomash написал(а):
Это плохая практика! Выдерни все одним запросом в массив! А потом выводи массив циклом
Быстрый ответ:

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