Использование переменной в качестве значения в посте в php / mysql - PullRequest
0 голосов
/ 14 октября 2011

Я получаю случайную строку с mysql-сервера, используя php.Затем я отображаю некоторую информацию и хотел бы, чтобы пользователи давали отзывы по этой конкретной строке.Тем не менее, я не могу передать идентификатор правильно в 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);
?>

Ответы [ 2 ]

1 голос
/ 14 октября 2011

Поместите глобальный _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>
0 голосов
/ 14 октября 2011
  $.post("update.php", { id: "id"} )

отправляет строку id на сервер в качестве идентификатора.Вы захотите заменить его фактической переменной, содержащей номер идентификатора, в зависимости от того, какую строку выбрал пользователь, например

  $.post("update.php", { id: rowIDNum} )

Если вы предоставите некоторую информацию о том, как пользователь выбирает строку,может предоставить более подробную информацию о том, как определить значение для ввода в rowIDNum.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...