PHP Mysql增量外键

时间:2011-01-03 20:42:19

标签: php mysql timeslots

如何手动增加外键。我有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 个答案:

答案 0 :(得分:1)

首先,您需要将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;
}

如果这对你有用,请选择此答案旁边的复选标记。谢谢!

答案 1 :(得分:0)

查看the MySQL UPDATE statement,它允许您更改表格中某行的字段值。