作业背景:
我有一个下拉菜单,我从数据库填充。根据选项用户从下拉菜单中选择,我需要更新所选记录。现在有关数据库和记录类型的一些信息:有5种类型的投诉:电气,机械,电话,消防系统和优先权。这些投诉中的每一个都可以具有“开放”或“关闭”状态。因此,当用户选择“电气类型”时,将出现电气类型的所有“开放”投诉ID(投诉ID是同一记录中的字段)。管理员选择id后,将更新相应的记录以将状态更改为“关闭”。
现在我的问题:
我可以显示所有投诉ID,但在选择相关ID并点击提交按钮后,记录的状态不会变为“关闭”。
代码
$user="root";
$password="";
$database="complaint_data";
$localhost="localhost";
mysql_connect($localhost,$user,$password);
@mysql_select_db($database) or die("Unable to open database");
echo ('<form action="" method="post"><br>');
echo ('<center><select name = "complaint"></center>');
echo ('<option value ="Electrical"> Electrical </option>');
echo ('<option value ="Mechanical"> Mechanical </option>');
echo ('<option value ="Telephone"> Telephone </option>');
echo ('<option value ="Fire"> Fire </option>');
echo ('<option value ="Priority"> Priority </option>');
echo ('<center><input type="submit" name="Submit" ></center>');
echo ('</form>');
if(($_SERVER["REQUEST_METHOD"]=="POST") and (!empty($_POST['Submit']) ) ){
$t=$_POST['complaint'];
switch ($t) {
case "Electrical":
$q="SELECT `complaintid` , `comment` FROM `complaints` WHERE `status`='open' and `type`='Electrical' ORDER BY `id` DESC";
$sql=mysql_query($q);
$count=mysql_num_rows($sql);
if($count!=0) {
echo ('<form action="" method="post"><br>');
echo ('<center><select name = "complaint1"></center>');
while($row=mysql_fetch_array($sql)) {
$cmp=$row['complaintid'];
echo "<option value =\"$cmp\"> $cmp </option> <br>";
}
echo ('</select>');
echo ('<center><input type="submit" name="Submit1" ></center>');
echo ('</form>');
if(($_SERVER["REQUEST_METHOD"]=="POST") and (!empty($_POST['Submit1'])) ) {
$cmpi=$_POST['complaint1'];
echo $cmpi;
$query="UPDATE complaints SET status='close' WHERE complaintid=`$cmpi` ";
mysql_query($query);
}
}
if($count=='0') {
echo "No record of electrical type found";
}
mysql_close();
break;
顺便说一下,我只包含了电气类型的片段,一旦它工作,我也会把它复制到其他类型! TIA:)
答案 0 :(得分:0)
试试这个:
$query="UPDATE complaints SET status='close' WHERE complaintid=$cmpi";
删除了周围的$ cmpi。