2015-03-02 132 views
2

我想在15秒的时间间隔后从当前页面获取所有帖子ID,以使服务器端的php查询。 PHP查询将在Sql中找到与ID匹配的数据,如果有任何数据为特定的ID查找,则会将其添加。阵列没有发送所有元素,只获得第一个

所以在我的当前页面有自己的动态帖子ID像许多DIV:

<div class="case" data-post-id="111"></div> 

<div class="case" data-post-id="222"></div> 

<div class="case" data-post-id="333"></div> 

<div class="case" data-post-id="anything else dynamic no"></div> 

而且我想,我的javascript将获得与发送该ID到一个PHP查询发现在SQL任何比赛。

这里我的array只有第一个帖子ID。问题是,无论是我的javascript数组或PHP数组

我的更新脚本:(这里var CID无法获得身份证,只得到第一个ID)

//make array to get id 
var CID = []; //get dynamic id 
$('div[data-post-id]').each(function (i) { 
    CID[i] = $(this).data('post-id'); 
}); 

function addrep(type, msg) { 
    CID.forEach(function (id) { 
     $("#newreply" + id).append(""); 
    }); 
} 
var tutid = '<?php echo $tutid; ?>'; 

function waitForRep() { 
    $.ajax({ 
     type: "GET", 
     url: "/server.php", 
     cache: false, 
     data: { 
      tutid: tutid, 
      // this way array containing all ID's can be sent: 
      cid: CID 
     }, 
     timeout: 15000, 
     success: function (data) { 
      addrep("postreply", data); 
      setTimeout(
      waitForRep, 
      15000); 
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
      setTimeout(
      waitForRep, 
      15000); 
     } 
    }); 
} 

server.php

if($_REQUEST['tutid'] && $_REQUEST['cid']){ 
    //make array to cid to get id 
    foreach($_REQUEST['cid'] as $key => $value){ 

     $res = mysqli_query($dbh,"SELECT * FROM test WHERE id =".$value." AND page_id=".$_REQUEST['tutid']." ORDER BY id DESC LIMIT 1") or die(mysqli_error($dbh)); 

     $rows = mysqli_fetch_assoc($res); 

     $row[] = array_map('utf8_encode', $rows); //line 80 
     $data = array(); 

     $data['id'] = $rows['id']; 
     //etc all 

      //do something 

if (!empty($data)) { 
    echo json_encode($data); 
    flush(); 
    exit(0); 
} 
} } 
+0

数组构建正确:http://jsfiddle.net/k5mo22Lc/,虽然你可以sh通过使用map()来完成。你有没有检查服务器正在检索什么数据? – 2015-03-02 10:45:37

+0

如何检查它先生。我的php数组在server.php文件中是否可以? – koc 2015-03-02 11:00:10

+0

在你的PHP文件中,做print_r($ _ REQUEST ['cid']);出口; - >这是什么打印? – lshettyl 2015-03-02 11:22:10

回答

0

变化小码检查它

//make array to get id 
var CID = []; //get dynamic id 
$('div[data-post-id]').each(function (i) { 
    CID[CID.length] = $(this).data('post-id'); 
}); 
相关问题