在php函数中获取json数据

在php函数中获取json数据,php,mysql,json,function,Php,Mysql,Json,Function,我是json这一章的新手。我有一个名为mysql_conn.php的文件。这个文件有一个php函数来调用mysql数据库中的数据。那么有人能帮我创建一个json文件来从mysql_conn.php获取数据吗。下面是我的代码 mysql\u conn.php function getWrkNoTest($wrkno){ $conf = new BBAgentConf(); $log = new KLogger($conf->get_BBLogPath().$conf->

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

mysql\u 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;
}
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";
        }

}
json.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;
}
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或其他什么。对不起,我的英语不好或解释不好。我在这方面真的是新手。任何帮助都将不胜感激。谢谢

如果我正确理解您的问题,您想将从MySQL查询中收到的结果转换为JSON,然后将数据存储到文件中吗

如果这是正确的,您可以在现有的基础上进行构建。在此块中,使用
json\u encode()

我们可以获取这些数据并将其传递到以将其放入文件:

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

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

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

问题到底是什么?您是否试图将mysql查询的结果保存到实际的json文件(例如
results.json
)中?是的。我想创建一个json文件来保存mysql_conn.php文件中的数据。仅此而已。是否可以创建一个json文件来从另一个文件中的php函数获取数据。但是如何创建呢?。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO。