Пример:
|ID|Name|Surname|
|1|Вася|Уткин|
|2|Петя|Пупкин|
...
Мы хотим добавить Антошу Петрова не место Васи Уткина с ID 1 и должно получится следующее:
|1|Антоша|Петров|
|2|Вася|Уткин|
|3|Петя|Пупкин|
...
Ну и выставить ограничение на количество записей
Кто поможет? Или кого-то есть другой вариант реализации?
Спустя 3 минуты, 51 секунда (28.08.2010 - 10:28) Basili4 написал(а):
xxxLOGIATxxx
а ты еще 3 темы создай 100% пойдешь в бан а щас только 50%. Не используй Авто инкремент он не для этого
а ты еще 3 темы создай 100% пойдешь в бан а щас только 50%. Не используй Авто инкремент он не для этого
Спустя 31 минута, 36 секунд (28.08.2010 - 11:00) dr_Lev написал(а):
Как-то так попробуй...
или так:
$sql = "
declare counter int;
set counter = 9;
delete from tablename where id = 10;
while (counter >= 1) do begin
update tablename set id = counter + 1 where id = counter;
set counter = counter - 1;
end
insert into tablename values (id, name, surname) values (1,'$name','$surname');
";
или так:
$sql = "delete from tablename where id = 10";
mysql_query($sql);
for ($i=9; $i>=1; $i--){
$sql = "update tablename set id = $i + 1 where id = $i";
mysql_query($sql);
}
$sql = "insert into tablename values (id, name, surname) values (1,'$name','$surname');"
mysql_query($sql);
Спустя 3 минуты, 28 секунд (28.08.2010 - 11:03) xxxLOGIATxxx написал(а):
Цитата (Basili4 @ 28.08.2010 - 07:28) |
xxxLOGIATxxx а ты еще 3 темы создай 100% пойдешь в бан а щас только 50%. Не используй Авто инкремент он не для этого |
Благодарю за очень уважительное отношение, если все админы так вежливо будут изъясняться, то интернет будут называть не WEB 2.0 а WEB 3.0. Тема пользователями не удаляется.
К делу. Инкремент можно снести и сортировать по дате. А как выставиь ограничение? Нужно организовать удаление последней записи и добавление новой или есть способ выставить LIMIT в базе?
Спустя 1 минута, 49 секунд (28.08.2010 - 11:05) dr_Lev написал(а):
Цитата (xxxLOGIATxxx @ 28.08.2010 - 11:03) |
есть способ выставить LIMIT в базе? |
Такого к сожалению нет, разве что повесить триггер на таблицу, но не все хостеры поддерживают их...
Спустя 1 минута, 21 секунда (28.08.2010 - 11:06) xxxLOGIATxxx написал(а):
Цитата (dr_Lev @ 28.08.2010 - 08:00) |
Как-то так попробуй...
или так:
Такого к сожалению нет, разве что повесить триггер на таблицу, но не все хостеры поддерживают их... |
Я так и думал, спасибо.
Просто хочется найти максимально правильный вариант, идеализирую.
Спустя 8 минут, 19 секунд (28.08.2010 - 11:15) Basili4 написал(а):
Извините я не админ. но право слово уже задолбали с множественным постингом.
Я же писал не испльзуй авто инкремент щас напишу.
Я же писал не испльзуй авто инкремент щас напишу.
Спустя 48 секунд (28.08.2010 - 11:15) Basili4 написал(а):
$r=mysql_query("SELECT count(id) FROM table1 WHERE id=$id");
$row=mysql_fetch_row($r);
if ($row==0)
mysql_query("INSERT HIGH_PRIORITY INTO TABLE1 (
id, ......) VALUES ( $id, VALUE2)");
else
$id=1;
mysql_query("
UPDATE LOW_PRIORITY
TABLE1
SET
id = $id
WHERE
id = (select max(id) from TABLE1)");
$row=mysql_fetch_row($r);
if ($row==0)
mysql_query("INSERT HIGH_PRIORITY INTO TABLE1 (
id, ......) VALUES ( $id, VALUE2)");
else
$id=1;
mysql_query("
UPDATE LOW_PRIORITY
TABLE1
SET
id = $id
WHERE
id = (select max(id) from TABLE1)");