我对数组并不熟悉。
我尝试将我的数据保存到数据库,但它似乎没有工作,只有它保存 请检查我的样本图片。
它只保存的数据库是
并且循环4次
我的代码
<form method="post">
<table>
<tr>
<td>F Name</td>
<td>M Name</td>
<td>L Name</td>
</tr>
<tr>
<td><input type="text" name="fname" value="" /></td>
<td><input type="text" name="mname" value="" /></td>
<td><input type="text" name="lname" value="" /></td>
</tr>
<tr>
<td><input type="text" name="fname" value="" /></td>
<td><input type="text" name="mname" value="" /></td>
<td><input type="text" name="lname" value="" /></td>
</tr>
</table>
<br />
<input type="submit" name="SubmitText" value="Save" />
</form>
if ( isset( $_POST['SubmitText'] ) ) {
$fn = $_POST['fname'];
$mn = $_POST['mname'];
$ln = $_POST['lname'];
$value = array();
foreach( $_POST as $keys => $value)
$db = mysql_query( "INSERT INTO jon_test VALUE( '', '".$value['fn']."', '".$value['mn']."', '".$value['ln']."' )" );
echo $value['fn'] . '<br />';
echo $db == true ? 'Yes' : 'No';
}
我的代码有什么问题吗?
答案 0 :(得分:2)
将PHP代码包含在<?php ?>
标记中,如下所示:
<?php
if ( isset( $_POST['SubmitText'] ) ) {
$fn = $_POST['fname'];
$mn = $_POST['mname'];
$ln = $_POST['lname'];
$value = array();
foreach( $_POST as $keys => $value)
$db = mysql_query( "INSERT INTO jon_test VALUE( '', '".$value['fn']."', '".$value['mn']."', '".$value['ln']."' )" );
echo $value['fn'] . '<br />';
echo $db == true ? 'Yes' : 'No';
}
?>
另外,我建议您使用mysqli_*
函数代替mysql_*
函数,因为mysql_*
函数已弃用,将在futere中删除。
答案 1 :(得分:2)
<form method="post">
<table>
<tr>
<td>F Name</td>
<td>M Name</td>
<td>L Name</td>
</tr>
<tr>
<td><input type="text" name="input[0][fname]" value="" /></td>
<td><input type="text" name="input[0][mname]" value="" /></td>
<td><input type="text" name="input[0][lname]" value="" /></td>
</tr>
<tr>
<td><input type="text" name="input[1][fname]" value="" /></td>
<td><input type="text" name="input[1][mname]" value="" /></td>
<td><input type="text" name="input[1][lname]" value="" /></td>
</tr>
</table>
<br />
<input type="submit" name="SubmitText" value="Save" />
</form>
之后你需要迭代帖子参数:
foreach($_POST['input'] as $input) {
$db = mysql_query( "INSERT INTO jon_test VALUE( '', '".$input['fname']."', '".$input['mname']."', '".$input['lname']."' )" );
echo $input['fname'] . '<br />';
echo $db == true ? 'Yes' : 'No';
}
答案 2 :(得分:1)
输入名称相同,因此您只获取最后一个结果使用[]创建值数组