繁体   English   中英

使用PHP的SQL查询从AJAX返回多个结果

[英]Return multiple results with AJAX from sql query in php

您好,我正在实现简单的AJAX请求,并希望能够将来自SQL SELECT查询的结果存储到3个不同的ajax变量中。

其中两个将存储一个变量,另一个必须存储foreach结果。

假设我的AJAX请求如下:

$.post('includes/check_number.php', {'date':date, 'userid':userid}, function(data) {
              $("#time-result").html(data.result01);
              $("#time-sum-result").html(data.result02);

我将在其中得到2个结果result01和result02

在mysql select请求中我脚本的当前状态下,返回的data如下:

        $stmt = $con->prepare( $sql );                      
        $stmt->setFetchMode(PDO::FETCH_ASSOC);
        $stmt->execute();       
foreach($stmt as $row) {
            echo "<tr>
                     <td>".$row['clientname']."</td>   
                     <td>".$row['taskname']."</td>
                     <td>".$row['department']."</td>
                     <td>".$row['note']."</td>
                     <td>".$row['caseid']."</td>
                     <td>".$row['time']."</td>                                                                        
                    </tr>";                     
            }

我想将forreach的结果放入回显中,其中将包含各种迭代,然后对于result02例如,只想将同一查询的一行放入例如: $row['date']

在这种情况下

data.result01-将具有<tr></tr>所有代码data.result02-将仅具有一个变量,即date。

问题是如何将foreach转储到result01,同时又将来自同一查询的一行仅放入result02。 $stmt

首先导出所有数据,然后将其与jquery一起使用? 就像是 :

PHP的:

foreach($stmt as $row) {
   $arr_out[] = $row;
}
echo json_encode($arr_out);
exit();

JQUERY:

var result1 = "";

$.post('includes/check_number.php', {'date':date, 'userid':userid}, function(data) {
  $.each(data, function(key, item) {
     result1 += "<tr><td>"+item.clientname+"</td>[...]<td>"+item.time+"</td></tr>";
     result2 = item.date;
  });
  $("#time-result").html(result1);
}

我没有测试此代码,希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM