PHP Mysql Инкремент Внешний Ключ - PullRequest
0 голосов
/ 03 января 2011

как мне вручную увеличить внешний ключ. у меня есть 2 стола

время стола

id-timeslot   times
------------------
   1       10:00
   2       10:30
   3       10:45
   4       11:00
   5       11:15
   6       11:30

настольная книга у меня на мгновение

id-book   id-timeslot
-------------------
   1         1
   2         1  

Раскрывающееся меню (минут)

<select name="minutes_booking" id="minutes_booking">
        <option value="0">15 Minutes</option>
        <option value="1">30 Minutes</option>
        <option value="2">45 Minutes</option>
        </select>

Допустим, пользователь выбирает 10:00 и «30 минут потратить на лечение» я хочу выглядеть как

   id-book   id-times
    -------------------
       1         1
       2         2   

php код:

if($minutes_booking == 0) :

     $mysqli->query("INSERT INTO doc_a(id_book, id_timeslot) 
     VALUES  ('','" . $id_timeslot . "')" ); 

     echo 'Booking has been added';

elseif($minutes_booking == 1) :


      $mysqli->query("INSERT INTO doc_a(id_book, id_timeslot) 
      VALUES  ('', '" . $id_timeslot . "')" ); 
      $mysqli->query("INSERT INTO doc_a(id_book, id_timeslot) 
      VALUES  ('', '" . $id_timeslot++ . "')" ); 
  echo 'Booking has been added';

 endif;

Ответы [ 2 ]

1 голос
/ 04 января 2011

Сначала вам нужно переключить поле id_book на автоинкремент. У вас есть доступ к phpMyAdmin или какой-либо инструмент для изменения таблиц базы данных? Тогда вы можете захотеть использовать структуру, подобную этой. Это может быть лучше, чем это, но я пытаюсь сделать вещи простыми.

switch ($_POST['minutes_booking']) {
   case '0':
      $mysqli->query('INSERT INTO doc_a (id_timeslot) VALUES ('.$_POST['id_timeslot'].')');
      break;
   case '1':
      $mysqli->query('INSERT INTO doc_a (id_timeslot) VALUES ('.$_POST['id_timeslot'].')');
      $mysqli->query('INSERT INTO doc_a (id_timeslot) VALUES ('.++$_POST['id_timeslot'].')');
      break;
}

Если это работает для вас, установите флажок рядом с этим ответом. Спасибо!

0 голосов
/ 03 января 2011

Посмотрите на оператор MySQL UPDATE , который позволяет изменить значение поля в строке в таблице.

...