Перемещение по таблице

Печать RSS
473

Ж
Автор
Пацак
0
У меня такая проблема...
Есть обычная таблица link в которой находятся данные.
<?php
CREATE TABLE `link` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  PRIMARY KEY (`id`)
);
?>
В ней 3 строки:
<?php
+----+-------+ 
| id | name | 
+----+-------+ 
| 1 | Новости | 
| 2 | Чат | 
| 3 | Форум | 
+----+-------+ 
?>
Потом всё это я вывожу при помощи цикла, но суть не в этом.
Мне нужно получить в цикле ид текущей, предыдущей и следующей строки.
Изменил: Жека (24.01.2010 / 17:12)
Ж
Автор
Пацак
0
Тобишь Чат(last_id['1'],id['2'],next_id['3']);
Как это можно сделать?

2000 лет д.н.э.
0
<?php
$start = ($id>0) ? $id-1 : 0;
$sql = mysql_query("SELECT * FROM link ORDER BY id LIMIT '".$start."', 3;");
while( $res = mysql_fetch_assoc($sql) ){
print_r($res);
}
так? Не очень понял суть вопроса..
Изменил: ramzes (24.01.2010 / 17:34)
Ж
Автор
Пацак
0
o_O smile
Сам придумал!
<?php
$sql=mysql_query("SELECT * FROM `link` ORDER BY `id`");
while($dan=mysql_fetch_array($sql)) { $r[]=$dan['id'];
echo '<a href="test.php?id='.$dan['id'].'">'.$dan['name'].'</a><br>';
echo '<a href="test.php?tid='.($dan['id']-1).'&bid='.count($r).'">[вверх]</a> ';
echo '<a href="test.php?tid='.($dan['id']+1).'&bid='.count($r).'">[вниз]</a><hr>'; 
}
?>
Изменил: Жека (24.01.2010 / 18:26)
О

Землянин
0
MaNGOS cms, не уж-то работает? ))). А теперь представь что если один столбец будет удален?
Мораль в том что столбец id это столбец для сервера/скрипта, но не для человека. Создай еще один столбец sort(int) и по нему сортируй.
О

Землянин
0
up....
Изменил: Олег (25.01.2010 / 01:16)

2000 лет д.н.э.
0
#4 по мимо всего еще и цикл там вообще не нуженsmile
#5 зачем еще ячейку? Я же нормальный вариант вроде предложил. Не промахнется хоть что делайsmile
О

Землянин
0
Затем что судя по вопросу, автор хочет сделать возможность меня передвигать позиции в таблице. Хотя опять же не совсем ясно так ли это.

2000 лет д.н.э.
0
Ну он вроде сказал, есть ид, надо предыдущий и следующий получить вместе с ним..
Или я чего то не так понял ггsmile
О

Землянин
0
Хоть даже и так, то твой вариант в ситуации где, например, после id 2 сразу идет id 4 даст сбой.
И вообще я так понял твой пример идет в самом цикле, да и ты еще зачем-то цикл написал. Это очень не оптимизированно в частности при больших хитах сувать еще запрос
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск