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

Форум MySQL

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

 

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

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

тема: Выборка с ORDER BY
 
 автор: Unkind™   (21.06.2006 в 21:56)   письмо автору
 
 

Что-то не получаетя сделать выборку так, чтобы темы в моем форуме были выстроены так - сначала закрепленные темы (pinned) + они выстраивались по дате последнего обновления...
Такая таблица:

CREATE TABLE 'themes' (
  'tid' int(10) NOT NULL auto_increment,
  'name' text NOT NULL,
  'id' int(6) NOT NULL default '0',
  'site' text NOT NULL,
  'date' text NOT NULL,
  'block' tinyint(1) NOT NULL default '0',
  'pinned' tinyint(1) NOT NULL default '0',
  'update' int(11) NOT NULL default '0',
  PRIMARY KEY  ('tid'),
  UNIQUE KEY 'fid' ('tid'),
  KEY 'pinned' ('pinned'),
  KEY 'update' ('update')
) ENGINE=MyISAM ;

А вот запрос:

<?php
//Пропущено
$query mysql_query("SELECT * FROM themes ORDER BY pinned, update LIMIT $s, 10;");
//Пропущено
?>

   
 
 автор: valenok   (21.06.2006 в 22:03)   письмо автору
 
   для: Unkind™   (21.06.2006 в 21:56)
 


<?php 
//Пропущено 
$query mysql_query("SELECT * FROM themes WHERE (pinned, update) AS order ORDER BY order LIMIT $s, 10;"); 
//Пропущено 
?>


Как то так.
Сейчас проверю

   
 
 автор: Unkind™   (21.06.2006 в 22:11)   письмо автору
 
   для: valenok   (21.06.2006 в 22:03)
 

Не выходит...=/

   
 
 автор: valenok   (21.06.2006 в 22:17)   письмо автору
 
   для: Unkind™   (21.06.2006 в 22:11)
 


<?php 
//Пропущено 
$query mysql_query("SELECT * FROM themes ORDER BY pinned DESC, update DESC LIMIT $s, 10;"); 
//Пропущено 
?>

   
 
 автор: Unkind™   (21.06.2006 в 22:23)   письмо автору
 
   для: valenok   (21.06.2006 в 22:17)
 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update DESC LIMIT 0, 10' at line 1---

   
 
 автор: valenok   (21.06.2006 в 22:25)   письмо автору
 
   для: Unkind™   (21.06.2006 в 22:23)
 

Мой пример с официального сайта mysql.ru
Только там как раз лимита не было....

попробуй поставить обратные апострофы вокруг всего что написанно маленькими буквами

   
 
 автор: Unkind™   (21.06.2006 в 22:28)   письмо автору
 
   для: valenok   (21.06.2006 в 22:25)
 

Ага, заработало...Вот не пойму..Обычно без обратной кавычки все OK, а некоторые запросы обрабатывать никак не хочет...

   
 
 автор: valenok   (21.06.2006 в 22:36)   письмо автору
 
   для: Unkind™   (21.06.2006 в 22:28)
 

Я препочитаю всё обрабатывать.
Потом меньше времени уходит на разборки

   
 
 автор: kasmanaft   (21.06.2006 в 23:08)   письмо автору
 
   для: Unkind™   (21.06.2006 в 22:28)
 

наверное потому, что "UPDATE" немного специфическое слово ... :)

   
 
 автор: valenok   (21.06.2006 в 23:10)   письмо автору
 
   для: kasmanaft   (21.06.2006 в 23:08)
 

Мне тоже так кажеться

   
 
 автор: hell_riser   (21.06.2006 в 22:22)   письмо автору
 
   для: Unkind™   (21.06.2006 в 22:11)
 

Попробуйте что-то типа этого:


<?php 
//Пропущено 
$query mysql_query("SELECT * FROM themes GROUP BY pinned ORDER BY update LIMIT $s, 10;"); 
//Пропущено 
?> 

   
 
 автор: Unkind™   (21.06.2006 в 22:24)   письмо автору
 
   для: hell_riser   (21.06.2006 в 22:22)
 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update LIMIT 0, 10' at line 1---

   
 
 автор: cheops   (22.06.2006 в 00:20)   письмо автору
 
   для: Unkind™   (21.06.2006 в 22:24)
 

Если испльзуете в качестве названий столбцов ключевые слова (UPDATE - это оператор) их следует заключать в обратные кавычки, иначе анализатор MySQL не сможет отличить название столбца update от оператора UPDATE.

   
 
 автор: Unkind™   (22.06.2006 в 01:38)   письмо автору
 
   для: cheops   (22.06.2006 в 00:20)
 

Блин, точно...=))) Я как-то на это даже внимания не обратил =)))

P.S. На одном из других форумов послали меня =))

   
 
 автор: valenok   (22.06.2006 в 10:47)   письмо автору
 
   для: Unkind™   (22.06.2006 в 01:38)
 

phpclub

   
 
 автор: Unkind™   (22.06.2006 в 14:05)   письмо автору
 
   для: valenok   (22.06.2006 в 10:47)
 

Ага))

   
 
 автор: valenok   (22.06.2006 в 14:52)   письмо автору
 
   для: Unkind™   (22.06.2006 в 14:05)
 

Там уровень намного выше
чем простое не обращение внимания.

Сильный ресурс.

   
 
 автор: cheops (из кафе)   (22.06.2006 в 16:10)
 
   для: valenok   (22.06.2006 в 14:52)
 

Валенок, хотел сказать, что там сидят ущербные в большинстве своём личности, которые выбрали профессию программиста из-за моды, а теперь когда мода прошла и с ними никто не носится, и они получают удовольствие от издевательств и унижения посетителей, повышая тем самым собственную самооценку. Им не знаком конструктивный подход. Чем хорош данный ресурс, так это тем, что он отвлекает на себя большую часть невменяемых и не уровновешенных людей, так как среди них бытует мнение, что профессионализм определяется тем, что человек не будет отвечать на вопросы на которые знает ответ, а если ответа он не знает - он просто пошлёт спрашивающего. Именно в противовес псевдопрофессионалам, мы и создавали наш ресурс, где можно просто обсуждать программирование без людей мнящими себя большими специалистами и считающими, что главная их цель - доказать другим это. Да будет так.

PS Если без эмоций, то цель нашего ресурса помочь как можно большему числу людей стать программистами (больше программистов - больше у нас читателей), а цель других ресурсов - обратная как можно больше число людей отпугнуть от программирования - меньше программистов, меньше конкуренции. Поэтому все ресурсы действуют правильно, только преследуют разные цели.

   
Rambler's Top100
вверх

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