Я пытаюсь заполнить ассоциативную таблицу (многие для многих) mysql через форму submit. В принципе, попытка использовать эту страницу для связывания «красного флага» с одним-ко-многим «продуктом».PHP - Вставить в ассоциативную таблицу
ФОРМА
<?php
require 'connect-db.php';
$sql = "SELECT ID, prod_name FROM catalog";
$result = mysqli_query($mysqli, $sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p><strong>Add Red Flag:</strong></p>
<form action="addRedFlag.php" method="post" id="rfForm">
<p>Description:
<br/><textarea rows="4" cols="50" name="rfDescription" form="rfForm"></textarea>
<p>Severity: <br/>
<input type="radio" name="severity" value="minor"/>Minor<br/>
<input type="radio" name="severity" value="moderate"/>Moderate<br/>
<input type="radio" name="severity" value="major"/>Major<p/>
<select name="prod_id">
<option value="">Choose a product</option>
<?php while($row = mysqli_fetch_assoc($result)){ ?>
<?php $id = $row['ID']; ?>
<?php $title = $row['prod_name']; ?>
<option value="<?php echo $id; ?>"><?php echo $title; ?></option>
<?php } ?>
</select>
<p/><input type="submit" value="Submit" name="submit" /></form><br>
<a href="captureRedFlag.php"> Reset Form </a><br>
<a href="displayRedFlag.php"> View Red Flag List</a><br>
<a href="../../index.html"> Home</a>
</body>
</html>
PHP HANDLER
<?php
// connect to the database
include("connect-db.php");
$value1 = $_POST['rfDescription'];
$value2 = $_POST['severity'];
$value3 = $_POST['prod_id'];
$sql = "INSERT INTO redFlag (description, severity) VALUES ('$value1', '$value2')";
$sql2 = "SELECT ID FROM redFlag WHERE (description = '$value1')";
$sql3 = "INSERT INTO prod_RF (cat_id, rf_id) VALUES ('$value3', '$value4')";
$result1 = mysqli_query($mysqli, $sql);
$result2 = mysqli_query($mysqli, $sql2);
if ($result1)
{
if ($result2)
{
$row = mysqli_fetch_assoc($result2);
$value4 = $row['ID'];
// echo $value4;
$result3 = mysqli_query($mysqli, $sql3);
if ($result3)
{
echo "success";
}
else {echo "Error: " . $sql . "<br>" . mysqli_error($mysqli);}
}
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($mysqli);
}
mysqli_close($mysqli);
?>
При выполнении кода завершается успешно, но значение RF_ID в prod_RF таблицы всегда равен нулю. Это странно, потому что, когда я раскомментирую
echo $value4;
линия, ожидаемое значение печатается на экране. По какой-то причине, когда я пытаюсь использовать то же значение ($ value4) в качестве входа в SQL-запрос ($ sql3), что-то не удается.
Спасибо за любые предложения, поскольку я довольно новичок в этом.
сразу после '$ value3 = $ _POST ['prod_id'];' define' $ value4 = ''; 'и check –
Пробовал это ... не работал. Спасибо хоть! – Ben