簡體   English   中英

在一個數組中插入多個查詢的結果

[英]Insert results of multiple queries in one array

這是我的PHP文件現在的外觀:

<?php 
    ini_set('display_errors','1'); 
    error_reporting(E_ALL);
    include_once 'dbConnect.php';

    if (connect()){
        global $conn;
        $param = array();

        $queryOBParam = "SELECT p,q,b
                         FROM params
                         WHERE faculty = 'OB'";             

        $checkRes = $conn->prepare($queryOBParam);
        $checkRes->execute();
        $checkRes->bind_result($pOB,$qOB,$bOB);

        while ($checkRes->fetch()){ 
            $temp = [
                'p'=>$pOB,
                'q'=>$qOB,
                'b'=>$bOB
            ];

            array_push($param,$temp);
        }

        echo json_encode($param);
    }
?>

我希望將下面的查詢結果插入數組$ param中,因為我需要一次性將所有查詢結果放入應用程序中。

$queryTotVoters = "SELECT COUNT(*) as totalVoters
                   FROM regVoter";

我該如何進行?

在評論中,您說您想要的最終數組應如下所示: [{"p":293,"q":433,"b":10, "totalVoters":27}]
這是您可以完成此操作的一種方法,但是請記住,無論數組將包含多少條目,totalVoters值對於所有對象都是相同的,因為SELECT COUNT(*) as totalVoters FROM regVoter的查詢SELECT COUNT(*) as totalVoters FROM regVoter沒有WHERE子句就像WHERE param = X

<?php 
    ini_set('display_errors','1'); 
    error_reporting(E_ALL);
    include_once 'dbConnect.php';

    if (connect()){
        global $conn;
        $param = array();
        $totalVoters = 0;

        // get totalVoters from regVoter
        $queryTotalVoters = "SELECT COUNT(*) as totalVoters FROM regVoter";

        $checkRes = $conn->prepare($queryTotalVoters);
        $checkRes->execute();
        $checkRes->bind_result($resTotalVoters);

        while ($checkRes->fetch()){ 
            $totalVoters = $resTotalVoters;
        }


        $queryOBParam = "SELECT p,q,b
                         FROM params
                         WHERE faculty = 'OB'";             

        $checkRes = $conn->prepare($queryOBParam);
        $checkRes->execute();
        $checkRes->bind_result($pOB,$qOB,$bOB);

        while ($checkRes->fetch()){ 
            $param[] = [
                'p'=>$pOB,
                'q'=>$qOB,
                'b'=>$bOB,
                'totalVoters'=>$totalVoters
            ];
        }

        echo json_encode($param);
    }
?>

小提示:我從未使用過bind_result()和fetch(),實際上通常是面向對象的Mysqli,所以我只是從現有查詢中復制了它。 因此我的代碼可能有錯誤

編輯:添加了$ totalVoters的初始化

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM