У меня есть 3 таблицы (актеры, категории, actor_cats) в моей базе данных.
Я использую форму для вставки новой информации в базу данных (mysql). Большая часть информации попадает в таблицу актеров.
Но в метке «категории» у меня есть тип ввода флажка, с 3 полями, которые я получаю из таблицы категорий [действие (id1), комедия (id2), драма (id3)]. Я хочу вставить эту информацию в мою таблицу actor_cats.
То, что я хочу сделать, это создать нового актера в таблице актеров, а также вставить флажок выбора (может быть все 3 варианта) в таблицеctors_cats. Эта таблица в качестве идентификатора актера и идентификатора категории, так что я хотел бы что-то вроде этого:
Таблица actor_cats
строка 1 | актерид (1) | categoryid (1)
строка 2 | актерид (1) | categoryid (2)
в качестве примера ...
как я могу добиться этого, используя mysqli?
спасибо заранее!
Я все еще не могу записать в таблицу actor_cats. Вот что я делаю:
// После вставки нового актера
$jid = $mysql->insert_id;
if (isset($_POST['cats'])) {
$cats = $_POST['cats'];
} else {
$cats = array();
}
$numCats = 0;
foreach ($cats as $catID) {
$cats_sql = "INSERT INTO actor_cats VALUES(?,?)";
$stmt = $mysql->stmt_init();
if ($stmt->prepare($cats_sql)) {
$stmt->bind_param('ii', $jid, $catID);
$stmt->execute();
if ($ok) {
$numCats = $numCats + 1;
} else {
echo "<p>Error inserting $catID: " .
$mysql->error . '</p>';
}
}
<?php
else:
$cats = 'SELECT id, type FROM categories';
$stmt = $mysql->prepare($cats);
$stmt->execute();
$stmt->bind_result($catid,$cattype);
?>
И в моей форме в области флажков я получаю таблицу категорий и получаю значения, поэтому при отправке формы мой выбор будет вставлен
//excerpt from form
<label>Category:</label><br />
<?php while($row = $stmt->fetch()) : ?>
<input type="checkbox" name="cats" value="<?php echo $catid; ?>" /><?php echo $cattype; ?>
<br /><br /> <?php endwhile; ?>
Надеюсь, это понятно!
Спасибо всем ребятам за помощь!