php - 在函数php中获取json数据

标签 php mysql json function

我是这个 json 章节的新手。我有一个名为 mysql_conn.php 的文件。这个文件有一个 php 函数来调用 mysql 数据库中的数据。所以谁能帮我创建一个 json 文件来从 mysql_conn.php 中获取数据.下面是我的代码

mysql_conn.php

function getWrkNoTest($wrkno){

    $conf = new BBAgentConf();
    $log = new KLogger($conf->get_BBLogPath().$conf->get_BBDateLogFormat(),  $conf->get_BBLogPriority() );
    $connection = MySQLConnection();

    $getWrkNoTest ="";
    $lArrayIndex = 0;

        $query = mysql_query("
                                SELECT 
                                    a.jobinfoid, 
                                    a.WRKNo, 
                                    a.cate, 
                                    a.det, 
                                    a.compclosed, 
                                    a.feedback, 
                                    a.infoID, 
                                    b.callerid, 
                                    b.customername 
                                FROM bb_jmsjobinfo a
                                LEFT JOIN bb_customer b 
                                    ON a.customerid = b.customerid
                                WHERE a.WRKNo = '$wrkno';"
        );

    $result = mysql_query($query);

    $log->LogDebug("Query[".$query."]");

    while ($row = mysql_fetch_array($result)){
            $getWrkNoTest = array("jobinfoid"=>$row['jobinfoid'],
                "WRKNo"=>$row['WRKNo'],
                "cate"=>$row['cate'],
                "det"=>$row['det'],
                "compclosed"=>$row['compclosed'],
                "feedback"=>$row['feedback'],
                "infoID"=>$row['customerid'],
                "customerid"=>$row['infoID'],
                "callerid"=>$row['callerid'],
            "customername"=>$row['customername']);

            $iList[$lArrayIndex] = $getWrkNoTest;
            $lArrayIndex = $lArrayIndex + 1;

        }
        $QueryResult = print_r($getWrkNoTest,true);
        $log->LogDebug("QueryResult[".$QueryResult."]");
        closeDB($connection);
        return $iList;
}

json.php

if ($_GET['action']=="getJsonjms"){
        $wrkno = $_GET["wrkno"];

        if($wrkno != ""){
            $jms = getWrkNoTest($wrkno);
            if(!empty($jms)){                
                echo json_encode($jms);
            }else{
                echo "No data.";
            }
        }else{
            echo "Please insert wrkno";
        }

}

我不知道如何解决这个问题。也许使用 foreach 或其他东西。抱歉我的英语不好或解释不好。我对这个 json 东西真的很陌生。任何帮助将不胜感激。谢谢

最佳答案

如果我没听错你的问题,你想将从 MySQL 查询中收到的结果转换为 JSON,然后将该数据存储到文件中吗?

如果这是正确的,您可以构建您目前在 json.php 中拥有的内容.在此 block 中,您使用 json_encode():

if(!empty($jms)){                
    echo json_encode($jms);
}

我们可以获取此数据并将其传递给 file_put_contents()将其放入文件中:

if (!empty($jms)) {
    $json = json_encode($jms);

    // write the file
    file_put_contents('results.json', $json);
}

如果这是一个经常访问的脚本/页面,您需要将文件名(上面的 results.json)变成更动态的东西,可能基于 $wrkno 或其他一些模式。

关于php - 在函数php中获取json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20705341/

相关文章:

mysql - SQL查询计算 session 而不重复行

php - PDO 更新失败

ajax - Jquery 自动完成不显示结果

javascript - vue v-for 图像未显示。相反,它显示字符串

php - 有没有更简洁的写法 "$a ? $a : $b"?

php - wordpress 管理员中没有自定义字段表单

mysql - 如何使用 group by 子句选择随机行?

python - 递归遍历 JSON 文件,提取 SELECTED 字符串

ios - 从 Facebook JSON 访问好友数据

javascript - 检查纬度和经度的公式是否位于没有 Google map Api 的区域内