我的代码有点复杂,但我做了一个简单的例子,这样你就更容易理解我真正需要的东西了。
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语言制作和增加的话,怎么可能告诉我? :
答案 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']