显示结果。但是当我更新时它不起作用。
我的多表结果(工作)。
<table>
<tr>
<?php
$result = $db->prepare("SELECT * FROM famcomp WHERE app_id='". mysql_real_escape_string($app_id) ."'");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
$app_id1 = $row['app_id'];
$fullname = $row['fullname'];
$fage = $row['fage'];
$frel = $row['frel'];
$fcivil = $row['fcivil'];
$fedu = $row['fedu'];
$foccup = $row['foccup'];
$finco = $row['finco'];
?>
<td><input type="hidden" name="app_id[]" value="<?php echo $app_id1 ?>" /></td>
<td><input type="text" name="fullname[]" value="<?php echo $fullname ?>" class="input" /></td>
<td><input type="text" name="fage[]" value="<?php echo $fage ?>" class="input" /></td>
<td><input type="text" name="frel[]" value="<?php echo $frel?>" class="input" /></td>
<td><input type="text" name="fcivil[]" value="<?php echo $fcivil?>" class="input" /></td>
<td><input type="text" name="fedu[]" value="<?php echo $fedu ?>" class="input" /></td>
<td><input type="text" name="foccup[]" value="<?php echo $foccup ?>" class="input" /></td>
<td><input type="text" name="finco[]" value="<?php echo $row['finco']; ?>" class="input" /></td>
</tr>
<?php
}
?>
<br></table>
我的方法是:
注意:
- 未定义所有索引[0] [1]
- 未定义的索引:fullname [0]等全名[1]
$fullname=$_POST['fullname'];
$N = count($fullname); //to get the total row of fullname
for($i=0; $i < $N; $i++)
mysql_query("UPDATE famcomp SET
fullname = '".$_POST["fullname[$i]"]."', fage = '".$_POST["fage[$i]"]."',
frel = '".$_POST["frel[$i]"]."', fcivil = '".$_POST["fcivil[$i]"]."',
fedu = '".$_POST["fedu[$i]"]."', foccup = '".$_POST["foccup[$i]"]."',
finco = '".$_POST["finco[$i]"]."'
WHERE `app_id` = '".$_POST["app_id[$i]"]."'")
or die(mysql_error());
答案 0 :(得分:0)
在您的更新查询中,替换每个
$_POST["fullname[$i]"], $_POST["fage[$i]"]...
依此类推,
$_POST["fullname"][$i], $_POST["fage"][$i]...