【发布时间】:2010-04-26 10:18:06
【问题描述】:
我是 PHP 和 MySQL 的新手 我希望用户能够使用 PHP 在名为 names 的 MySQL 数据库表中存储多个名称和含义 我将在每次用户点击时使用 JQuery 动态创建表单字段一个链接,因此用户可以输入 1 到 1,000,000 个不同的名称和含义,这些名称将存储在名为 names 的表中。
自从我问了最后一个问题以来,我想出了如何使用for 循环从我的表单中存储我的值,但是每次当我添加一个或多个动态字段时循环我的值时,名为meaning 的第二个表单字段将不保存输入的值,我的动态表单字段也会不断循环加倍、三倍等输入的值到数据库中,这完全取决于动态添加了多少表单字段。我想知道如何解决这些问题?
在旁注中,我用 echo 替换了查询以查看正在输入的值。
这是 PHP 代码。
<?php
if(isset($_POST['submit'])) {
$mysqli = mysqli_connect("localhost", "root", "", "site");
$dbc = mysqli_query($mysqli,"SELECT * FROM names WHERE userID='$userID'");
$name = $_POST['name'];
$meaning = $_POST['meaning'];
if(isset($name['0']) && mysqli_num_rows($dbc) == 0 && trim($name['0'])!=='' && trim($meaning['0'])!=='') {
for($n = 0; $n < count($name); $n++) {
for($m = 0; $m < count($meaning); $m++) {
echo $name[$n] . '<br />';
echo $meaning[$m] . '<br /><br />';
break;
}
}
}
}
?>
这是 HTML 代码。
<form method="post" action="index.php">
<ul>
<li><label for="name">Name: </label><input type="text" name="name[]" id="name" /></li>
<li><label for="meaning">Meaning: </label><input type="text" name="meaning[]" id="meaning" /></li>
<li><input type="submit" name="submit" value="Save" /></li>
</ul>
</form>
如果需要,我将放置 JQuery 代码。
【问题讨论】: