我正在嘗試使用圖書館管理應用程序來練習PHP,我的頁面是爲了訂購一本書可以多次訂購,但不應該在一頁上的兩個不同選擇中選擇相同的書。在訂單頁面上,我有賬面價值多項選擇的下拉列表中,從相同的數據庫來:在PHP中避免重複ID
<form method="POST" target="adduserbooks.php">
<select name="user">
<option value="1">Tony</option>
<option value="2">Gary</option>
<option value="3">Martin</option>
<option value="4">Austin</option>
<option value="5">Mark</option>
</select>
<select name="book[]">
<option value="1">Math</option>
<option value="2">Geography</option>
<option value="3">Science</option>
<option value="4">Spanish</option>
<option value="5">English</option>
</select>
<select name="book[]">
<option value="1">Math</option>
<option value="2">Geography</option>
<option value="3">Science</option>
<option value="4">Spanish</option>
<option value="5">English</option>
</select>
<select name="book[]">
<option value="1">Math</option>
<option value="2">Geography</option>
<option value="3">Science</option>
<option value="4">Spanish</option>
<option value="5">English</option>
</select>
</form>
並增加他們在數據庫表adduserbooks.php頁上:
$userID = $_POST['user'];
foreach($_POST['book'] as $key=>$item_eid){
$bookID = intval($_POST['book'][$key]);
mysql_query ("Insert INTO user_books (bookID, userID) values ('$bookID', '$userID')") or die(mysql_error());
}
至於另一位專家建議在這裏,不能使用「INSERT IGNORE INTO」作爲prodID
作爲UNIQUE
,因爲這意味着以後的訂單不能用於已經輸入的prodID
。所以,理想情況下,我需要檢查/比較SQL插入和退出頁面之前的循環,如果發現重複,則會出現一些錯誤。對此有何想法?
我的結構表如下:
CREATE TABLE IF NOT EXISTS user_books
(
ID int(11) NOT NULL AUTO_INCREMENT,
bookID int(11) NOT NULL,
userID int(11) NOT NULL,
added timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
)
ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
可能的重複[在PHP中避免重複的ID](http://stackoverflow.com/questions/36518144/avoid-duplicate-ids-in-php) – Marcus