2015-03-02 228 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'); 
}); 
相關問題