我是php的新手。
我希望有一个这样的表格:
Name <TextField> Corresponding pic: <dropdown> hiddenID (not shown to user)
Name <TextField> Corresponding pic: <dropdown> hiddenID (not shown to user)
Name <TextField> Corresponding pic: <dropdown> hiddenID (not shown to user)
Name <TextField> Corresponding pic: <dropdown> hiddenID (not shown to user)
Name <TextField> Corresponding pic: <dropdown> hiddenID (not shown to user)
Update Values (button)
单击按钮(提交表单)后,我将如何获取所有这些值。我想为每个值更新数据库表。查询就像
update user_tables name=<newnameSubmitted>, pic=<valueFromDropDown>
where id=<hiddenIdGottenBack>
在这个例子中,我有5个值......我将如何使用相应的值运行上述更新语句5次。
请清除我的困惑或指导我一个可以帮助我的教程。
答案 0 :(得分:2)
<?
$cmd=$_POST["cmd"];
if(isset($cmd)) {
$name=array_map('mysql_escape_string', $_POST["name"]);
$sel=array_map('mysql_escape_string', $_POST["sel"]);
for($i=0;$i<count($name);$i++) {
$sql="update TABLENAME set col1='{$name[$i]}' where col2='{$sel[$i]}'";
}
?>
<form method="post" action="sample.php">
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
Value1 <input type="text" name="name[]"/> <select name="sel[]">...</select>
<input type="submit" name="cmd" value="Submit"/>
</form>
答案 1 :(得分:0)
在php中,所有提交的值都存储在$ _POST数组,$ _POST ['name']等中(假设您使用的是post而不是get),因此您必须遍历该数组中的所有值。
答案 2 :(得分:0)
我喜欢保持简单,所以我只是给我的表单字段提供可预测的名称,如下所示:
<input name="name1" ...> <input name="pic1" ...>
<input name="name2" ...> <input name="pic2" ...>
然后在php中,我循环处理它们:
for($i = 0; $i < 5; ++$i) {
if(isset($_REQUEST["name$i"]) && isset($_REQUEST["pic$i"])) {
# update database with those values
}
}
答案 3 :(得分:0)
学习读取数组格式
echo'
'; print_r($_POST); echo '';
了解$ _POST是一个数组。
extract - 在数组上使用时是一个函数,它将带有数组键的变量作为变量名,将赋值给该键的值作为变量的值。
提取物($ _ POST);
出于安全考虑,您应该使用mysql_prepare或$ mysqli-&gt; prepare。