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

Форум MySQL

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

 

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

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

тема: Вывод трех последовательных значений полей
 
 автор: serjinio   (13.10.2008 в 10:56)   письмо автору
 
 

CREATE TABLE `test` (  
`id` tinyint(4) NOT NULL auto_increment,
`name` varchar(100) NOT NULL,
PRIMARY KEY  (`id`)

ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=cp1251


id          name
1           один
2           два
7           три 
12          четыре
133         пять


Выбрать три последовательных позиций
$res=mysql_query("SELECT * 
FROM `test`
WHERE `id` = '$id'
?????????????????????
ORDER BY id
LIMIT 0 , 3
", $db);

Должно выводиться при...
$id = 1 --->выбираем строки -->два,три ,четыре
$id = 2 --->выбираем строки -->три ,четыре,пять
$id = 7 --->выбираем строки -->четыре,пять,один
$id = 12 --->выбираем строки -->пять,один,два
$id = 133--->выбираем строки -->один ,два,три

Возможно ли средствами MySOL сделать такую выборку?

  Ответить  
 
 автор: Trianon   (13.10.2008 в 11:47)   письмо автору
 
   для: serjinio   (13.10.2008 в 10:56)
 

Зачем Вам это средствами SQL?
И на каком основании выбраны эти строки?
$id = 7 --->выбираем строки -->четыре,пять,один
$id = 12 --->выбираем строки -->пять,один,два
$id = 133--->выбираем строки -->один ,два,три
Почему после пяти следует один, а наибольший id ссылается вдруг на значения из трех минимальных ключей?

Формального ответа Вы дать не сможете.

Фактически, на php-уровне задача решается в два счета.
На SQL придется извращаться так, что овчинка выделки не стоит.

  Ответить  
 
 автор: serjinio   (13.10.2008 в 12:32)   письмо автору
 
   для: Trianon   (13.10.2008 в 11:47)
 

Все понял,сделаю на PHP Спасибо.

Оказалось все не так просто...

Вот что надо получить ..обратная выборка...
Id                      name
1                     пять,четыре,три
2                     один,пять,четыре
7                     два,один,пять
12                    три,два,один
133                   один,два,три

или прямая выборка
Id                      name
1                     два,три,четыре
2                     три,четыре,пять
7                     четыре,пять,один
12                    пять, один,два
133                   один,два,три


те надо `закольцевать` массив...притом возможны варианты..
т.е не имеет значение чередование вывода в строке например ..
Id                      name
1                     два,три,четыре
1                     три,четыре,два
1                     четыре,три,два


Подскажите в каком направлении двигаться?

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

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