如何在javascript语言中声明的php中使用for循环变量

时间:2014-01-09 22:50:20

标签: javascript php jquery variables loops

我的代码有点复杂,但我做了一个简单的例子,这样你就更容易理解我真正需要的东西了。

HTML:

<html>
    <body>
        <input type="button" value="Increase" name="increase" id="increase"></input>
        <input type="button" value="Submit" name="submit" id="submit"></input>
    </body>
</html>

使用Javascript:

$(document).ready(function() {
    $count = 1;
    $('input').click(function() {
        $count++;
    });
});

所有这个网页的想法:
1)在“增加”按钮上单击几次;
2)每次点击该按钮时,javascript变量$ count都会增加;
3)当您单击“提交”按钮时,它会使php循环重复$ count次,并且每次重复时间都会在某些数据库表中创建新记录。以下是可能的php for循环示例:

for($i=1; $i<=$count; $i++) {
    //Here makes new record in some database table. For example, it makes some tables rows "Number" = $i; <-- This is not important in my problem.
}

问题是关于声明循环的中间部分:“$ i&lt; = $ count” - 如果我想要这个循环变量,如果该变量是用Javascript语言制作和增加的话,怎么可能告诉我? :

3 个答案:

答案 0 :(得分:0)

PHP interpratate HTML,所以你只能通过ajax发送变量!

答案 1 :(得分:0)

您不能直接在PHP中使用javascript变量。

我认为实现您想要做的最好的方法是使用AJAX请求。您应该使用javascript将请求发送到另一个URL,然后使用该变量。

这是你应该做的:

var url = 'create_database_records.php';
var request = $.post(url, { count: count });
request.done(function(data) {
   // request is done
});

请注意,在此方法中,您应该可以访问count变量。

在* create_database_records.php *中,您应该使用$_POST['count']变量。

注意:您不应使用$声明javascript变量,而是使用var count = 1

更新:另一种方法

您可能希望将此按钮放在表单中,并添加一个新的输入(类型:隐藏)来保存计数器。

<form action="create_database_records.php" method="POST">
    <input type="hidden" value="1" name="count" id="count" />
    <input type="button" value="Increase" name="increase" id="increase" />
    <input type="submit" value="Submit" name="submit" id="submit" />
</form>

然后,在click事件中,您应该更改隐藏的字段值:

$(document).ready(function() {
    count = 1;
    $('#increase').click(function() {
        count++;
        $('[name=count]').attr('value', count);
    });
});

在* create_database_records.php *中,你应该使用$ _POST ['count']变量。

答案 2 :(得分:0)

您可以在表单中添加输入字段,每次增加计数变量时都会更新其值,因此在提交时,您可以通过请求提取该数字。

$(document).ready(function() {
    $count = 1;
    $('input').click(function() {
        $count++;
        $('#your-input-field').val($count);
    });
});

您应该像

一样更改表单
<html>
    <body>
        <form method="post" action="/">
            <input type="text" value="0" id="your-input-field" name="count"></input>
            <input type="button" value="Increase" name="increase" id="increase"></input>
            <input type="button" value="Submit" name="submit" id="submit"></input>
        </form>
    </body>
</html>

现在您可以通过$_POST['count']

来提取该号码