Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用输入和复选框更新mysql_Php_Mysql_Html_Checkbox - Fatal编程技术网

Php 如何使用输入和复选框更新mysql

Php 如何使用输入和复选框更新mysql,php,mysql,html,checkbox,Php,Mysql,Html,Checkbox,使用此表单:从mp3中选择*aktif='0' <form name="form" method="post"> <input readonly type="text" name="id" value="<?=$haciosman['id']?>" /> <input type="text" name="baslik" value="<?=$haciosman['baslik']?> <input type="checkbox" nam

使用此表单:从mp3中选择*aktif='0'

<form name="form" method="post">
<input readonly type="text" name="id" value="<?=$haciosman['id']?>" />
<input type="text" name="baslik" value="<?=$haciosman['baslik']?>
<input type="checkbox" name="secilen[]" value="<?=$haciosman['id']?>">
<input type="submit" name="onay" value="Onayla" />

我可以为选中的每一行将aktif设置为1。但我也想更新巴斯利克!如何用php代码更新每个baslik

如果我理解正确,您希望这样做:

mysql_query("UPDATE mp3 
             SET 
                 aktif = '1', 
                 baslik = '" . mysql_escape_string($_POST['baslik']) ."' 
             WHERE id = '$zuha'");
但这与您的电脑中已有的类似:

现在唯一的区别是在循环中进行查询并使用不同的ID变量

我在你的原始问题中对你的代码的评论保持不变

附言:为了一点安全性而引入

更新:好的,我想我现在明白你的问题了。基本上,您希望为数据库中的每个条目创建一个输入字段集合,如下所示:

<form name="form" method="post">
<table>

<?php while($haciosman = ($query)):?>
<tr>
   <td><input readonly type="text" name="id" value="<?=$haciosman['id']?>" /></td>
   <td><input type="text" name="baslik[<?php echo $haciosman['id'] ?>]" value="<?=$haciosman['baslik']?> </td>
   <td><input type="checkbox" name="secilen[]" value="<?=$haciosman['id']?>">

</tr>
<?php endwhile; ?> 

</table>
<input type="submit" name="onay" value="Onayla" />
</form>
if (isset($_POST['onay'])) {
  foreach  ($_POST['secilen'] as $zuha) {
    $olay = mysql_query("UPDATE mp3 
                         SET 
                            aktif = '1', 
                            baslik = '" . mysql_escape_string($_POST['baslik'][$zuha]) ."' 
                         WHERE id = '$zuha'");
  }
}
更新2:


您应该认真阅读,按照本文中的链接进行操作,并大体上阅读官方文档,以了解如何使用PHP。

Google站点:stackoverflow Sql injection.omg我知道它有注入功能,但这只是一个本地功能。不适用于publicFyi,读取非英语变量名确实很困难。至少让我的头受伤了。也许这就是为什么没有答案?@评论员和可能的回答者:也许他之前的问题有助于理解上下文:@Ronnie:也许你的例子应该反映你的真实代码。或者您应该参考原始问题,它似乎是重复的。是的,但这并不是更新每一行。它只更新了一行。我有三排。当我使用这个查询时,baslik正在复制。让我们换个词吧!巴斯利克的名字可以吗?我有三排!我想编辑3行的名称。当我单击“提交”时,3行内容相同name@Ronnie切斯特·林伍德:当然有,因为你只有一个名字输入字段。如果要每三个名称更新一次,则必须提供三个名称输入字段,类似于选择框@罗尼·切斯特·林伍德:我创造了一些类似的东西。看看我的最新答案并进行比较。最后!
if (isset($_POST['onay'])) {
  foreach  ($_POST['secilen'] as $zuha) {
    $olay = mysql_query("UPDATE mp3 
                         SET 
                            aktif = '1', 
                            baslik = '" . mysql_escape_string($_POST['baslik'][$zuha]) ."' 
                         WHERE id = '$zuha'");
  }
}