PHP& MySQL - 保存和循环问题

时间:2010-04-26 10:18:07

标签: php jquery mysql

我是PHP和MySQL的新手我希望用户能够存储多个名称,并且在使用PHP的名为names的MySQL数据库表中有意义我将每次用户使用JQuery动态创建表单字段点击链接,这样用户就可以输入1到1,000,000个不同的名称,其含义将存储在名为names的表格中。

因为我问了我的上一个问题,我想出了如何使用for循环从我的表单中存储我的值,但是当我添加一个或多个动态字段时,每次循环我的值时,第二个表单字段名为{{ 1}}不会保存输入的值,我的动态表单字段保持循环加倍,三倍等输入值到数据库中这一切都取决于动态添加多少表单字段。我想知道如何解决这些问题?

在旁注中,我用echo替换了查询,以查看正在输入的值。

这是PHP代码。

meaning

这是HTML代码。

<?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;
    }
}

}

}
?>



如果需要,我将放置JQuery代码。

2 个答案:

答案 0 :(得分:1)

如果您查看提交的数组,事情可能会更清楚:

echo('<pre>' . print_r($_POST, TRUE) . '</pre>');

如果您仍然不确定如何解决问题:

for($index = 0; $index < count($_POST['name']; $index++)
 {
  echo 'name: ' . $_POST['name'][$index] . '<br />';
  echo 'meaning: ' . $_POST['meaning'][$index] . '<br /><br />';
 }

答案 1 :(得分:1)

首先,您使用table代替ul li

我的代码如下所示,运行完美,你可以看到here

<强> JAVASCRIPT

<script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    $("#addMore").click(function(){
    $("#nameline").clone().insertAfter("#nameline").slideDown(500);
    $("#meaningline").clone().insertAfter("#nameline").slideDown(500);
    $("#name:last").val("").focus();
    $("#meaning:last").val("");

});
    });
</script>

<强> PHP

<form method="post" action="">
<input type="button" name="addMore" id="addMore" value="add">
<table id="myTable">
    <tbody>
    <tr id="nameline">
        <td><label for="name">Name: </label><input type="text" name="name[]" id="name" /></td>
    </tr>
    <tr id="meaningline">
        <td><label for="meaning">Meaning: </label><input type="text" name="meaning[]" id="meaning" /></td>
    </tr>
    <tr><td><input type="submit" name="submit" value="Save" id="submit" /></td></tr>
    </tbody>
 </table>
</form>
<?php print_r($_POST);?>

了解更多信息,您可以参考this link