簡體   English   中英

如何在PHP類中使用sql查詢解析json數據?

[英]How can I parse json data with sql query in PHP classes?

我有一個php json創建器。 那是一個網絡服務,我在android中使用它。 我有sql數據,類,並希望在clasess中運行查詢。

這是我的沒有類的json解析器。

<?php
 /$sql_query = blabla{

   $dolaplar= array();
    /* fetch object array */
    while ($obj = $result->fetch_object()) {
      // printf ("%d - %s - %s\n", $obj->id, $obj->tanim, $obj->tipi);
        $dolaplar[]= $obj;
    }
    $kodlanmis= json_encode($dolaplar);
    echo $kodlanmis;

    /* free result set */
    $result->close();
}

?>

而且它是json數據。

[
{
malzeme_id: "9",
malzeme_adi: "10 kohm direnc",
malzeme_miktari: "580"
},
{
malzeme_id: "8",
malzeme_adi: "Hdmi Kablosu",
malzeme_miktari: "128"
},
{
malzeme_id: "7",
malzeme_adi: "Kirmizi Led",
malzeme_miktari: "-653"
}
]

這是課程。

<?php
class A {
    public $Message = "Success";
    public $MessageInfo = "";
    public $Payload = array();

    function  __construct(){
        for ( $i=3; $i-->0;){
            array_push($this->Payload, new B);
        }
    }
}

class B {
    public $a = 3;
    public $b = 4;
}

echo json_encode(new A);
?>

我希望看到類似json的數據。

{
Message: "Success",
MessageInfo: "",
Payload: [
{
 malzeme_id: "9",
 malzeme_adi: "10 kohm direnc",
 malzeme_miktari: "580"
},
{
malzeme_id: "8",
malzeme_adi: "Hdmi Kablosu",
malzeme_miktari: "128"
},
{
malzeme_id: "7",
malzeme_adi: "Kirmizi Led",
malzeme_miktari: "-653"
}
]
}

我對php不太好。 可能嗎 ?

您可以向A類和B類構造函數添加一個參數:

A類:

class A {
    public $Message = "Success";
    public $MessageInfo = "";
    public $Payload = array();

    function  __construct($data){
        foreach ($data as $d) {
            array_push($this->Payload, new B($d));
        }
    }
}

B類:

class B {
    public function __construct($data) {
        array_walk($data, function($value, $key){
            $this->$key = $value;
        });
    }
}

然后您的呼叫將類似於:

$data = $dolapla // ???
echo json_encode(new A($data));

暫無
暫無

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

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