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

Форум MySQL

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

 

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

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

тема: Как выбрать следующую запись в порядке сортировки?
 
 автор: kosta_in_net   (04.04.2010 в 08:34)   письмо автору
 
 

база с полями id и name. В name содержится русское название статьи. Как получить ссылку на следующую статью в сортировке по названию? Если брать следующую по id, все очень просто:
$sql ='SELECT id,name FROM article WHERE id > '.$id.' ORDER BY id LIMIT 1';
Как получить следующую по названию? Это же не число, по нему не сравнишь на больше-меньше...
Есть возможность?
Пардон, случайно не в тот раздел запостил :(

  Ответить  
 
 автор: Trianon   (04.04.2010 в 08:44)   письмо автору
 
   для: kosta_in_net   (04.04.2010 в 08:34)
 

>Это же не число, по нему не сравнишь на больше-меньше...

Кто ж Вам такое сказал...

  Ответить  
 
 автор: kosta_in_net   (04.04.2010 в 10:06)   письмо автору
 
   для: Trianon   (04.04.2010 в 08:44)
 

То есть, запрос тапа:
$sql ='SELECT id,name FROM article WHERE name > '.$name.' ORDER BY name LIMIT 1';
где name содержит значения вроде таких:

"Потеря сессионых данных"
"Как отсортировать данные по критериям определенным в самих данных"
"Как взять из базы несколько случайных строк"

Будет давать адекватный результат? Если "да", то будет следующий вопрос. Проверить на достаточяном количестве данных не могу: база пока пуста. Так что, хотелось знать наверняка.

И так, если с именем все в порядке, то задача усложняется. дело в том, что нужно НЕКОТОРЫЕ записи ставить выше других. Для этого вводится порядок сортировки. То есть, таблица, на самом деле. выглядит так:
id,orders,name
Сортировка идет по orders, а внутри него (для одного номера в ордере), по имени. Как тут поступить?
$sql ='SELECT id,orders,name FROM article WHERE orders='.$orders.' AND name > '.$name.' OR orders>'.$orders.' ORDER BY orders,name LIMIT 1';
Правильно?
Хочется правильно спланировать все, чтоб потом не переделывать. А сравнение предложений на больше-меньше выполнять никогда не приходилось. Это может показаться странным, но как-то так получалось... Так что, если у кого-то есть практический опыт в этом отношении, буду рад ответу.

  Ответить  
 
 автор: neadekvat   (04.04.2010 в 11:15)   письмо автору
 
   для: kosta_in_net   (04.04.2010 в 10:06)
 

Вы бы напихали тестовых данных в базу, попробовали свои скрипты..
Я не понимаю, как можно с воздуха писать запросы и спрашивать, правильные ли они. По-моему, только самые элементарные вопросы можно с большой вероятностью проверить на ошибки без базы данных. А ваш? Столько условий и всякого напихано..

  Ответить  
 
 автор: kosta_in_net   (04.04.2010 в 12:58)   письмо автору
 
   для: neadekvat   (04.04.2010 в 11:15)
 

с моей точки зрения вопрос элементарный. Дает ли в SQL сравнение слов тот же результат, что и сравнение цифр. Человеку, которому понятна суть, будет понятно и то, что мной понапихано. Я набил данных в базу. Вроде все хорошо. Но это ограниченный набор. Ситуация упрощена. Вопрос-то к тем, кто с этим уже сталкивался. Можно ли всегда ожидать адекватного результата, или же то, что с моим тестовым набором данных результат адекватен - результат совпадения? То есть, после ответа Трианона, что сравнение приемлемо, я сделал его, набил данных и протестил. Теперь бы я хотел получить информацию от тех, кто с этим столкнулся не впервые: ожидать ли подводных камней, или выбранный способ является правильным. Иными словами, эксперимент удался. Хотелось бы подтверждения от тех, у кого есть теоретические знания на эту тему или практический опыт.

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

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