我使用php从mysql-server获取一个随机行。然后我会显示一些信息,并希望让用户就该特定行提供反馈。但是,我似乎无法正确地将ID传输到update.php。 (服务器上没有更新)。有人能发现我的错误吗?
Mysql-php得到(丑陋的)随机行:
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES utf8");
$result = mysql_query("SELECT id, username, message, ttime, field1, field2 FROM field WHERE done = 0 ORDER BY RAND() LIMIT 1");
$array = mysql_fetch_row($result);
echo json_encode($array);
然后是index.php:
<div id="output">
<div id="username">content</div>
<script id="source" language="javascript" type="text/javascript">
$(function ()
{ $.ajax({
url: 'api.php',
data: "",
dataType: 'json',
success: function(data)
{
var id = data[0];
var vname = data[1];
var message = data[2];
var timestamp = data[3];
$('#output').html(timestamp +message );
$('#username').html( vname );
}
});
});
</script>
<script>
$(document).jkey('a',function() {
$.post("update.php", { id: "id"} )
});
</script>
然后在update.php中:
<?php require_once('Connections/connection.php'); ?>
<?php
$id = $_POST['id'];
$sql = "UPDATE field SET field1 = field1 +1 WHERE id = '$id'";
$result = mysql_query($sql);
?>
答案 0 :(得分:1)
将全局_id
放入script
标记,然后:
$.ajax({
url: 'api.php',
data: "",
dataType: 'json',
success: function(data)
{
var id = data[0];
_id = id;
//...
和
<script>
$(document).jkey('a',function() {
$.post("update.php", { "id": _id} ) // <--- Look here
});
</script>
答案 1 :(得分:0)
$.post("update.php", { id: "id"} )
将字符串id
作为id发送到服务器。您需要将实际变量替换为包含用户所选行的ID号的实际变量,例如
$.post("update.php", { id: rowIDNum} )
如果您提供有关用户如何选择行的一些信息,我可以提供有关如何确定要放入rowIDNum的值的更多详细信息。