2011-01-03 2 views
0

Как вручную увеличить внешний ключ. ив получил 2 таблицыPHP Mysql Increment Foreign Key

таблица раз

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; 
+0

Ваш первый стол нуждается в некоторых исправлениях. он прыгает с 10:00 до 10:30 и пропадает 10:15. – dqhendricks

ответ

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; 
} 

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

+0

спасибо m8! он отлично работает;) – tonoslfx