gpt4 book ai didi

php - 两个不同表之间的INSERT和UPDATE(+增加值)php mysql

转载 作者:行者123 更新时间:2023-11-28 23:48:12 25 4
gpt4 key购买 nike

tbl_A
[id | facility_section | assigned_no]
----------
tbl_B
[col1 | col2| issued_to | col3 | col_etc]
----------

下拉列表将检索 tbl_A 表的 facility_section 列的值。然后,下拉列表值将被插入到 tbl_Bissued_to 列中。代码示例:-

<?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>

我想要的是,每次将下拉列表值插入到 tbl_Bissued_to 列、assigned_no 列>tbl_A 将更新并增加 1,相应地增加:- facility_section=issued_to

我知道要更新的代码:-

更新 tbl_A
SET assigned_no = assigned_no + 1
WHERE facility_section = '$facility_section'

但是,我对如何执行此操作感到困惑...

最佳答案

  • $i 的声明应该在您的if() 条件内,否则它会给出一个undefined variable 错误信息。<
  • @$facility_section = $_POST['facility_section']; 的目的是什么?你在哪里使用它?我认为它也应该在您的 if() 条件内。
  • 您很容易出现 SQL Injection , 所以你应该使用 mysql_real_escape_string()将变量(尤其是字符串)绑定(bind)到您的查询中时。
  • 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 */

关于php - 两个不同表之间的INSERT和UPDATE(+增加值)php mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com