我想用下拉列表製作一個頁面,我希望用戶添加他想要的電影名稱並通過mysql查詢將其發送到數據庫。從下拉列表中調用一個值來更新查詢
現在,這是我做的,從數據庫中獲取的下拉列表中(這部分工作)
<select name="cinema_id" id="cinemaid">
<?php
require('../classes/cinema_class.php');
$cinemas = cinema::get_cinemas_name();
$cinema_id = $cinema['cinema_id'];
$cinema_name = $cinema['cinema_name'];
foreach($cinemas as $cinema)
{
$selected = '';
if($cinema['cinema_id'] == $_GET['cinema_id'])
{
$selected = 'select="selected"';
}
echo "<option {$selected} >
{$cinema['cinema_name']}
</option>";
}
?>
</select>
,這是MySQL查詢更新
<?php
$theaterid=$_POST['theaterid'];
$theatername=$_POST['theatername'];
$cinemaid=$_POST['cinemaid'];
if(empty($theatername)){
echo "Theater Name is a must";
}
else{
$update_movie=mysql_query("UPDATE `memoire`.`theater`
SET `theater_name`= '$theatername',`cinema_id`= '$cinemaid' //the $theatername is working, i think the $cinemaid is wrong
WHERE `theater_id`='$theaterid'");
if($update_movie)
{ echo "Add Succesfull";}
else
{ echo "error in registration".mysql_error(); }
}?>
我認爲問題是要做什麼來調用下拉列表中的值,並將其發送到更新
順便說一句,頁面打印: 註冊錯誤Cannot add或upd吃了一個子行:外鍵約束失敗(memoire
。 theater
,約束theater_ibfk_1
外鍵(cinema_id
)參考文獻cinema
(cinema_id
)ON DELETE CASCADE ON UPDATE CASCADE)
仍然不能正常工作 – ouzoumzak 2013-04-20 16:32:53
您是否看到錯誤? 錯誤registrationCannot添加或更新子行,外鍵約束失敗(memoire.theater,約束theater_ibfk_1外鍵(cinema_id)參考文獻電影院(cinema_id)ON DELETE CASCADE ON UPDATE CASCADE) 我認爲不便是錯誤的內數據庫可能? – ouzoumzak 2013-04-20 16:33:29
數據庫內部沒有任何問題。電影明顯存在於數據庫中,否則它將不在您的下拉列表中。所以引用它應該沒問題。 問題在於數據處理。您必須將錯誤的變量傳遞給SQL查詢。在運行查詢之前,將其打印出來並確保您的$ cinemaid是您的想法。如果它不是數字,那就是你的問題。 – mbarlocker 2013-04-22 20:58:41