我正在尝试制作一个简单的信用页面,其中人们可以获得相当多的信用,点击其名称旁边的按钮即可删除信用
<table border="1">
<tr>
<td>Name</td><td>Massages left</td>
</tr>
<?php
mysql_connect("localhost","dbuser","password");
mysql_select_db("db");
$command = "select pass_name, credit_left from pass;";
$result = mysql_query($command);
//If there is, list that particular entry
while ($data = mysql_fetch_object($result))
{
print "<tr><td>" . $data->pass_name . "</td>" .
"<td>" . $data->credit_left . "</td></tr>\n"
// Button here that you click and make credit go down one;
}
?>
</table>
例如,它会说Ben - 2credits - 点击此处删除一个。
由于
修改
好的,这就是我所拥有的:
脚本是
<script>
function removeOneCredit(str)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("credit").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","removeonecredit.php"+str,true);
xmlhttp.send();
}
</script>
表格是:
while ($data = mysql_fetch_object($result)) {
print "<TR><TD>".$data->pass_name."</TD><TD id='credit'>".$data->credit_left."</TD><TD><form><input type='submit' value='- 1' onsubmit='removeOneCredit(?pass_id=".$data->pass_id."&credit_left=".$data->credit_left.")'></form></TD></TR>\n";
}
removeonecredit.php是
<html>
<?php
$pass_id = $_GET[pass_id];
$credit_left = $_GET[credit_left]-1;
//change value
mysql_connect("localhost","user","pw");
mysql_select_db("db");
$command = "update pass set credit_left='$credit_left' where pass_id='$pass_id';";
mysql_query($command);
//now print value
mysql_connect("localhost","user","pw");
mysql_select_db("db");
$command = "select credit_left from pass where pass_id='$pass_id';";
$result = mysql_query($command);
$data = mysql_fetch_object($result);
echo $data->credit_left;
?>
</html>
如果我在removeonecredit.php的末尾手动传递字符串,它可以工作,所以它必须是Ajax的一部分......
答案 0 :(得分:0)
使用带按钮的from并使用JavaScript中的AJAX脚本更新数据库而无需重新加载页面。如果您不关心页面重新加载,那么您可以只使用该表单,但不必编写AJAX脚本。要为单个用户更新数据库,您可以遍历数据库,并通过唯一标识符(例如ID或用户名)找到您要查找的用户:
例如,使用UPDATE
MySQL命令:
UPDATE table_name
SET credits_left='1'
WHERE username='Bob'
因此,这将仅为具有用户名“Bob”的人更新积分值。 我知道这不是很具体,但如果你提出更具体的问题,我可能会更好地帮助你。
答案 1 :(得分:0)
结果在函数参数中的=是一个问题,我在这里发布了一个关于如何逃避它的问题:Javascript escape a equal sign PHP
答案 2 :(得分:-1)
如果您想使用PHP进行更改,则必须制作表单并提交到同一页面。 PHP在服务器上呈现代码并将HTML发送到客户端(计算机上的用户)。如果希望它反映在数据库中,则必须运行mysql查询来更新该字段。然后,一旦提交表单,页面顶部就可以处理它,并且将加载新的输出。
另一种选择是使用javascript。在这种情况下,没有必要重新加载页面。
<script>
var count = 2;
$(document).on('click', '#clickButton', function(){
$('#countDiv').text(count--);
});
</script>
你的html / php页面必须有一个id="clickButton"
的按钮和一个像<div id="countDiv"></div>
这样的div
我没有测试出来。但我希望它有助于或带你朝着正确的方向前进!