如何修改从sql表读取的行

5kgi1eie  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(332)

我在php中有一个表,希望通过单击update链接修改它的单元格,它应该发送所选行的数据进行修改和更新
我一直在寻找例子,但我找不到任何东西,非常新的php。任何帮助都是非常有用的。

while($row=mysqli_fetch_array($result)) {
    echo
'

    <form name="frmRow" method="post"   action="update.php?id='.$row['id'].' ">
    <tr>
    <td ><a href="update.php" >Update </a>  </td>
    <td><a href="delete.php">Delete</a>   </td>
    <td >'.$row['name1'].'</td>
    <td >'.$row['name2'].'</td>
    <td >'.$row['name3'].'</td>
    <td >'.$row['id'].'</td>
    </tr>
   </form>

';
}

表中填充了mysql表中的数据
这是update.php

<?php

require_once('config/config.php');

if(isset($_GET['id']))
{

    $sql='update TABLE set name1="'.$_POST['name1'].'" , 
    name2=="'.$_POST['name2'].'" , name3=='.$_POST['name3'].'    
    where id='.$_POST['id'].'    ';
    mysqli_query($connect,$sql);0
}

?>

但是 GET['id'] 以及 $_POST 总是空的。

jhdbpxl9

jhdbpxl91#

我不会把你的表格当作一根弦来回音。foreach循环可以在同一个迭代中打印纯html和php。第二,你需要有输入框。

//  You wont need this if you do the while loop the way you original had it
$rows = mysqli_fetch_array($result);

<table>
foreach($rows as $row) {
// or your original method while($row = mysqli_fetch_array($result)){
<form method="post" action="update.php">
<tr>
   <td><button type="submit">Submit</button>  </td>
   <td><a href="delete.php?id=<?php echo $row['id']; ?>">Delete</a></td>
   <td ><input name='name1' value="<?php echo $row['name1']; ?>"></td>
   <td ><input name='name2' value="<?php echo $row['name2']; ?>"></td>
   <td ><input name='name3' value="<?php echo $row['name3']; ?>"></td>
   <td ><input name='id' value="<?php echo $row['id']; ?>"></td>
</tr>
</form>   
}  

</table>

同时删除 action="update.php?id='.$row['id'].' 就这样吧 action="update.php' 对于get和post方法。
注意:如果没有值,则需要能够在遍历结果时处理该值
注意:正如一些评论已经提到的,你不能从帖子中抓取 $_GET 反之亦然

相关问题