tbl_A
[id | facility_section | assigned_no]
----------
tbl_B
[col1 | col2| issued_to | col3 | col_etc]
----------
下拉列表将检索facility_section
表的tbl_A
列的值。然后,下拉列表值将插入issued_to
的{{1}}列。代码示例: -
tbl_B

我想要的是,每次将下拉列表值插入<?php
include ('dbconnect.php');
@$i=$_POST['issued_to'];
if(@$_POST['submit'])
{
$s="INSERT INTO tbl_B (issued_to) VALUES ('$i')";
mysql_query($s);
}
@$facility_section = $_POST['facility_section'];
$result = mysql_query("SELECT facility_section FROM tbl_A");
?>
<select name="issued_to">
<option selected disabled>-- Please Select --</option>
<?php
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['facility_section'] . "'>" . $row['facility_section'] . "</option>";
}
?>
</select>
的{{1}}列时,issued_to
的{{1}}列都会更新并增加1会相应增加: - tbl_B
= assigned_no
。
我知道要更新的代码: -
tbl_A
但是,我仍然坚持如何做到这一点......
答案 0 :(得分:1)
$i
的声明应该在if()
条件中,否则会出现undefined variable
错误消息。@$facility_section = $_POST['facility_section'];
的目的是什么?你在哪里用它?我认为它也应该在你的if()
条件中。mysql_real_escape_string()
。mysql_*
API已弃用,您应该使用mysqli_*
API。请在此处阅读prepared statement。您的代码至少应该如此(在if()
条件内):
if(isset($_POST['submit'])){
$i = mysql_real_escape_string($_POST["issued_to"]);
$s="INSERT INTO tbl_B (issued_to) VALUES ('$i')";
mysql_query($s);
/* GET TOTAL OF tbl_B BASED FROM THE SELECTED facility_section */
$res = mysql_query("SELECT * FROM tbl_B WHERE issued_to = '$i'");
$totalrows = mysql_num_rows($res);
/* UPDATE THE assigned_no COLUMN WITH THE UPDATED NUMBER OF ROWS */
mysql_query("UPDATE tbl_A assigned_no = '$totalrows' WHERE facility_section='$i'");
} /* END OF ISSET */