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

时间:2010-04-01 23:22:13

标签: php mysql html checkbox

并使用以下形式:( select * from 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”。但我也想更新“baslik”!如何用PHP代码更新每个“baslik”?

1 个答案:

答案 0 :(得分:1)

如果我理解你,你想要这样做:

mysql_query("UPDATE mp3 
             SET 
                 aktif = '1', 
                 baslik = '" . mysql_escape_string($_POST['baslik']) ."' 
             WHERE id = '$zuha'");

但这类似于original question中已有的内容:

mysql_query("update mp3 set aktif = '1', 
                              baslik = '$_POST[baslik]' 
               where id = '$_POST[id]'")

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

我对您原始问题中的代码的评论保持不变。 (;))

P.S。:为了一点安全性而引入mysql_escape_string()

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

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

您只需将另一个文本字段的名称定义为数组baslik[$haciosman['id']],与复选框类似,但这次指定的数组键是记录的ID。

然后您可以访问此数组的PHP代码($_POST['baslik']现在包含一个数组),如下所示:

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:

你应该真正阅读official short introduction to forms,按照本文中的链接阅读官方文档,以便更深入地了解如何使用PHP。