gpt4 book ai didi

php - 无法在 while 循环内更新表

转载 作者:行者123 更新时间:2023-11-29 16:05:32 24 4
gpt4 key购买 nike

我正在 while 循环中查询表,并有一个按钮可以在单击时更新每行的数据。但更新没有发生。

表列“注册”将根据单击该行的提交按钮进行更新。

<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('mydata');

$query = "SELECT * FROM internship";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
if($row['Enroll']=="unenroll")
{
echo '<div class="intern">';
echo '<h1>'.$row['course'] . "</h1>" ;
echo '<h2>'.$row['compay'] . "</h2>";
echo "<h3>Stipend:Rs." . $row['stipend'] ."<h3>";
echo "<h3>Duration:".$row['duration']."month</h3>";
echo "<h3>Start-date:".$row['start date']."</h3>";
echo '</div>';
echo '<form method="post" action="">';
echo '<button name="add_to_cart" type="submit" ><h2>Enroll</h2></button>';
echo '</form>';
if(isset($_POST["add_to_cart"]))
{
$selectedProduct = $row["ID"];
$sql='UPDATE internship SET Enroll="enrolled" WHERE ID="$selectedProduct"';
mysql_query($connection,$sql);
header("location:enrolled.php");
}
}
}
mysql_close($connection);
?>

我无法更新。请帮忙。

最佳答案

您的代码存在一些问题,例如:

  1. 您尚未在每行的按钮中添加任何ID值。

    echo '<button name="add_to_cart" type="submit" ><h2>Enroll</h2></button>';
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --> no value="..."
  2. 您没有使用选定的行,即已单击按钮以更新表格行已注册的行。

    $selectedProduct =  $row["ID"];
    ^^^^^^^^^^

所以你的代码应该是这样的:

<?php
$connection = mysql_connect('localhost', 'root', '');
mysql_select_db('mydata');

if(isset($_POST["add_to_cart"])){
$selectedProduct = $_POST['add_to_cart'];
$sql ="UPDATE internship SET Enroll = 'enrolled' WHERE ID = '$selectedProduct'";
mysql_query($connection,$sql);
header("location:enrolled.php");
exit();
}

$query = "SELECT * FROM internship";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
if($row['Enroll']=="unenroll"){
?>
<div class="intern">
<h1><?php echo $row['course']; ?></h1>
<h2><?php echo $row['compay']; ?></h2>
<h3>Stipend:Rs <?php echo $row['stipend']; ?><h3>
<h3>Duration: <?php echo $row['duration']; ?> month</h3>
<h3>Start-date: <?php echo $row['start date']; ?></h3>
</div>
<form method="post" action="">
<button name="add_to_cart" value="<?php echo $row['ID']; ?>" type="submit"><h2>Enroll</h2></button>
</form>
<?php
}
}

mysql_close($connection);
?>
<小时/>

旁注:不要使用 mysql_* 函数,它们从 PHP 5.5 开始已被弃用,并在 PHP 7.0 中被完全删除。使用mysqlipdo反而。 And this is why you shouldn't use mysql_* functions

关于php - 无法在 while 循环内更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55776058/

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