Обновить несколько записей с одной формы в MYSQL

0

Мне нужно обновить несколько записей в одной форме, но я не уверен, как это сделать. Ниже приведен код, который я использую для первоначального ввода полей в базу данных.

$case = date(ymdHis);

//register into database
if (!empty($p1_firstname)) mysql_query ("INSERT INTO cases VALUES ('$case','$date_booked','$p1_firstname','$p1_lastname ''$city’)");

if (!empty($p2_firstname)) $register_case = mysql_query ("INSERT INTO cases VALUES ('$case','$date_booked','$p2_firstname','$p2_lastname','$city’)");

У меня есть форма для обновления, которая отображает данные для любого количества записей, которые есть для каждого "случая". Как я могу использовать UPDATE для редактирования информации в разных строках, когда каждая строка имеет один и тот же идентификатор ($ case)?

  • 2
    У ваших строк нет уникального идентификатора?
  • 0
    да, у них есть идентификатор автоинкремента, но когда я выбираю конкретную запись, я выбираю по номеру дела, чтобы получить несколько строк
Теги:

3 ответа

0
UPDATE cases 
SET column1 = CASE column_id WHEN 0 then 'valueColumn1forRegisterId0' 
                             WHEN 1 then 'valueColumn1forRegisterId1'
                             WHEN 2 then 'valueColumn1forRegisterId2'
                             ELSE column1 END,
    column2 = CASE column_id WHEN 0 then 'valueColumn2forRegisterId0' 
                             WHEN 1 then 'valueColumn2forRegisterId1'
                             WHEN 2 then 'valueColumn2forRegisterId2'
                             ELSE column2 END;
0

После нормализации базы данных каждый из ваших записей будет иметь уникальный идентификатор, который вы можете использовать для запросов на обновление.

Ваш текущий script также подвержен sql injection. Вы никогда не должны доверять пользователю.

0

Нет. Вы реорганизуете свою базу данных туда, где она действительно имеет смысл, а затем оттуда.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню