我在PHP中有一个想要修改其单元格的表,方法是单击“更新”链接,它应该发送所选行的数据以进行修改和更新
我一直在寻找示例,但找不到任何东西,这对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
始终为空。
答案 0 :(得分:0)
我不会以字符串形式回显您的表单。一个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
从帖子中抢夺,反之亦然