我有一個許多一對多關係的數據庫與三個表:插入動態數複選框成許多一對多關係數據庫
+-----------+ +----------+ +----------+
|doorUser | |doorAccess| | doors |
+-----------+ +----------+ +----------+
| userID | | userID | | doorNum |
| lname | | doorNum | | doorName |
| fname | +----------+ +----------+
| username |
| accessNum |
+-----------+
的doorAccess表是連接中間表門用戶和門表。我想要做的事情是插入門用戶表以及門accessAccess表,以便每個用戶可以訪問任何數量的門。我已經設法讓我的PHP到我可以插入到門用戶表中,但門accessAccess表被證明是更加困難。
下面的代碼是來自提交和帖子的片段。
if (isset($_POST["submit"])) {
if((isset($_POST["fname"]) && $_POST["fname"] !== "") && (isset($_POST["lname"]) && $_POST["lname"] !== "") &&(isset($_POST["username"]) && $_POST["username"] !== "") &&(isset($_POST["accessNum"]) && $_POST["accessNum"] !== "") ) {
$query = "INSERT INTO doorUser ";
$query .= "(fname,lname,username,accessNum) ";
$query .= "values('".$_POST["fname"]."', '".$_POST["lname"]."', '".$_POST["username"]."', '".$_POST["accessNum"]."')";
$query3 = "SELECT doorNum, doorName ";
$query3 .= "FROM doors ";
$result3 = $mysqli->query($query3);
while ($row3 = $result3->fetch_assoc()) {
$doorNum = $row3["doorNum"];
$doorName = $row3["doorName"];
if((isset($row3["doorName"]) && $row3["doorName"] !== "")){
$query3 = "INSERT INTO doorAccess ";
$query3 .= "(userID, doorNum) ";
$query3 .= "values('".$_POST[LAST_INSERT_ID()]."', '".$_POST["doorNum"]."')"
}
}
和下面的代碼是從形成片段:
echo "<p><form action = 'addUser.php?id={$ID}' method='post'>";
echo "<p><input type = 'text' name = 'fname' placeholder = 'First Name' /></p>";
echo "<p><input type = 'text' name = 'lname' placeholder = 'Last Name' /></p>";
echo "<p><input type = 'text' name = 'username' placeholder = 'username' /></p>";
echo "<p><input type = 'text' name = 'accessNum' placeholder = 'password' /></p>";
$query2 = "SELECT doorNum ";
$query2 .= "FROM doors ";
$result2 = $mysqli->query($query2);
if ($result2 && $result2->num_rows > 0) {
while ($row2 = $result2->fetch_assoc()) {
$doorNum = $row2["doorNum"];
echo "<p><input type = 'checkbox' name = 'doorName' value = '".$row2["doorNum"]."' /> Door $doorNum</p>";
}
}
echo "<p><input type = 'submit' name = 'submit' value = 'Add Person' />";
echo "</form>";
門表能夠被添加到或從另一部分刪除,因此我需要能夠動態地生成然而,門的許多複選框,但我還需要一種方法來鏈接哪些用戶有權訪問哪些門。複選框按照它們應該生成的方式生成,但我在將用戶標識和門插入中間表時遇到問題。
我檢查,我能夠插入doorUser表與此代碼,但問題是某處doorAccess插入。
任何幫助將不勝感激!和mysqli API的美麗
'$ _ POST [LAST_INSERT_ID()]'我懷疑你可以使用它。在你的查詢中使用'mysqli_error($ mysqli)',看看它是什麼。 –