Javascript jquery使用click函数增加php变量
如果你能帮助我,我将非常感激 只有当每个数据字符串都有一个唯一的id时,数据才会添加到数据库中。有必要通过单击按钮将id分配给每个字符串 如何转换变量$i随每次单击而增加,但表中开头只有一个字符串的代码Javascript jquery使用click函数增加php变量,javascript,php,jquery,Javascript,Php,Jquery,如果你能帮助我,我将非常感激 只有当每个数据字符串都有一个唯一的id时,数据才会添加到数据库中。有必要通过单击按钮将id分配给每个字符串 如何转换变量$i随每次单击而增加,但表中开头只有一个字符串的代码 <? for($i=1; $i<2; $i++): ?> <tr> <td> <label>
<?
for($i=1; $i<2; $i++):
?>
<tr>
<td>
<label>
<input type="text" name="<?=$i?>[file]" value="<? $p=$_POST[$i]; echo($p['file'])?>" >
</label>
</td>
<td>
<label>
<input type="integer" name="<?=$i?>[xx]" value="<? $p=$_POST[$i]; echo($p['xx'])?>" >
</label>
</td>
<td>
<label>
<input type="integer" name="<?=$i?>[yy]" value="<? $p=$_POST[$i]; echo($p['yy'])?>">
</label>
</td>
<td>
<button type="button" id="add">+</button>
<button type="button" id="del">-</button>
</td>
</tr>
<script>
$(document).ready(function(){
$("#add").click(function(){
<?$i=$i+1;?>
$('#dynamic').append('<tr><td><label><input type="text" name="<?=$i?>[file]" value=""></label></td><td><label><input type="integer" name="<?=$i?>[xx]" value=""></label></td><td><label><input type="integer" name="<?=$i?>[yy]" value=""></label></td><td><button type="button" class="add">+</button> <button type="button" class="del">-</button></td></tr>');
});
});
</script>
<?endfor;?>
</tbody>
</table>
<input name="sub" type="submit" value="Create a graph" style="margin: 14px">
</form>
一种解决方案是每次单击数据库时从数据库中获取$i的值,并将其递增。另一种解决方案是在会话中存储$i的值,并在每次单击时获取该值。如注释中所述,看起来您正在尝试在客户端函数中运行服务器端代码。这将无法按预期工作-PHP行将在标记发送回浏览器并呈现之前执行,单击按钮时此变量不会发生任何变化
我的方法是使用传入的操作参数(例如,vote.php?action=add或vote.php?action=del)对页面进行ajax调用。然后在DB中增加或减少该值
现在,如果您希望在此页面上显示新值(例如,在两个按钮之间,如StackOverflow),则应使用
$(选择器).load(“vote.php?action=add | del”)
,然后确保此页面仅输出新结果。使用隐藏字段有何意义?看起来您正试图更新一个php变量,该变量将通过使用客户端javascript在服务器端运行。是这样吗?