Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: запись\редактирование\удаление [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: запись\редактирование\удаление
valenok Модератор
Отправлено: 26 Мая, 2009 - 14:23:53
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




оки. Попробуем еще как нибудь..
Следующее предложение что нибудь тебе говорит ?

должно быть WHERE `id` > id удаленной записи.


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 26 Мая, 2009 - 14:28:41
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




valenok пишет:
оки. Попробуем еще как нибудь..
Следующее предложение что нибудь тебе говорит ?
должно быть WHERE `id` > id удаленной записи.


я поэтому хочу написать универсальный запрос, ведь удалить могут не 2-ю , а 5-ю строку и так далее
 
 Top
valenok Модератор
Отправлено: 26 Мая, 2009 - 14:36:28
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Нее. нифига. русские не сдаются! Бокс
--

reffery Более детально: Как ты понимаешь следующее предложение целиком и выделенную часть в особенности:
В условии запроса должно быть написано WHERE `id` > (id записи которую мы удалили).


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 26 Мая, 2009 - 15:31:11
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




valenok пишет:
Нее. нифига. русские не сдаются! Бокс
--

reffery Более детально: Как ты понимаешь следующее предложение целиком и выделенную часть в особенности:
В условии запроса должно быть написано WHERE `id` > (id записи которую мы удалили).

устанавливаются значения строк в столбце id следующим образом: id = id-1, где id больше той, записи, которая была удалена
 
 Top
valenok Модератор
Отправлено: 26 Мая, 2009 - 16:02:53
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




А у тебя в скрипте что написано в запросе ?


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 26 Мая, 2009 - 16:51:00
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




valenok пишет:
А у тебя в скрипте что написано в запросе ?

UPDATE customer `id` SET `id`=`id`-1 WHERE `id`>2 ORDER BY `id` ASC
 
 Top
valenok Модератор
Отправлено: 26 Мая, 2009 - 17:05:53
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Отлично. у тебя есть запрос:

UPDATE `customer` SET `id`=`id`-1 WHERE `id`>2 ORDER BY `id` ASC

я говорю что В условии запроса должно быть написано
WHERE `id` > (id записи которую мы удалили)

что надо изменить в твоем запросе ? Изменяй.
И еще раз, заметь, UPDATE `customer`, а не UPDATE `id`


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 26 Мая, 2009 - 17:20:57
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




вместо 2-ки нужно определить запись, которая была удалена. верно?
 
 Top
valenok Модератор
Отправлено: 26 Мая, 2009 - 17:46:04
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




верно.


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 26 Мая, 2009 - 17:52:58
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




ну так я и спрашивала с самого начала - КАК ЕГО СДЕЛАТЬ УНИВЕРСАЛЬНЫМ
 
 Top
valenok Модератор
Отправлено: 26 Мая, 2009 - 17:59:07
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Бокс

тут ты удаляешь запись под номером X
mysql_query('DELETE FROM `customer` WHERE `id`='.$id);

Теперь посмотрим еще раз на запрос:
UPDATE `customer` SET `id`=`id`-1 WHERE `id`>(номер записи которую мы удалили, тоесть Х) ORDER BY `id` ASC

Есть идея как изменить второй запрос ?


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 26 Мая, 2009 - 18:38:29
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




valenok пишет:
Бокс
Есть идея как изменить второй запрос ?

Нужно использовать $id, так как ее передает list.php:
<a href=del.php?id=".$row['id'].">DEL</a></td>
сценарию del.php.
(Добавление)
вот код сценария:

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?
  4. include'config.php';
  5. if (isset ($_GET['id'])) {$id = $_GET['id'];}
  6. mysql_query("DELETE FROM `".$table."` WHERE `id`=$id");
  7. UPDATE $table SET `id`=`id`-1 WHERE `id`>$id ORDER BY `id` ASC
  8. ")or die (mysql_error());
  9. Header("Location:index.php"); exit;
  10. ?>
  11.  


пс: ну ты валенок садист! Радость

(Отредактировано автором: 26 Мая, 2009 - 18:53:02)

 
 Top
valenok Модератор
Отправлено: 26 Мая, 2009 - 19:16:59
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Фух. работает надеюсь =)
Теперь на всякий случай скажу еще раз: эта операция бессмысленна и не нужна.
Кроме того тебе сейчас еще нужно будет изменять максимальное значение автоинкремента, потому что следующий id занесенный в таблицу все равно создаст пробел в нумерации. (но это уже сама. без меня).


-----
Truly yours, Sasha.
 
My status
 Top
reffery
Отправлено: 28 Мая, 2009 - 13:34:44
Post Id



Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Май 2009  


Помог: 0 раз(а)




valenok пишет:
Фух. работает надеюсь =)
Теперь на всякий случай скажу еще раз: эта операция бессмысленна и не нужна.
Кроме того тебе сейчас еще нужно будет изменять максимальное значение автоинкремента, потому что следующий id занесенный в таблицу все равно создаст пробел в нумерации. (но это уже сама. без меня).

спасибо
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB