0

我正在尝试制作一个简单的信用页面,让人们拥有这么多的信用,并通过点击他们名字旁边的按钮,它会删除信用

<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 - click here to remove one。

谢谢

编辑

好的,这就是我所拥有
的:脚本是

<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 的一部分......

4

3 回答 3

0

使用带有按钮的 from 并在 JavaScript 中使用 AJAX 脚本来更新数据库,而无需重新加载页面。如果您不关心页面重新加载,那么您可以只使用表单,但您不必编写 AJAX 脚本。要为单个用户更新数据库,您可以遍历数据库,并通过唯一标识符(例如 id 或用户名)找到您要查找的用户:

例如,使用UPDATEMySQL 命令:

UPDATE table_name
SET credits_left='1'
WHERE username='Bob'

因此,这将仅更新用户名为“Bob”的人的信用值。我知道这不是很具体,但如果你把你的问题更具体一些,我可能会更好地帮助你。

于 2012-12-06T00:38:26.523 回答
0

原来函数参数中的 = 是一个问题,我在这里发布了一个关于如何转义它的问题:Javascript escape a equal sign PHP

于 2012-12-10T02:51:04.337 回答
-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>

我没有测试这个。但我希望它对您有所帮助或将您带向正确的方向!

于 2012-12-06T00:21:03.340 回答