ホームページ > バックエンド開発 > PHPチュートリアル > 質問したいのですが、SQL クエリの結果を多次元配列に生成するにはどうすればよいですか?

質問したいのですが、SQL クエリの結果を多次元配列に生成するにはどうすればよいですか?

WBOY
リリース: 2016-06-13 13:07:33
オリジナル
1080 人が閲覧しました

質問してください: SQL クエリの結果から多次元配列を生成する方法
私が実現したい機能は次のとおりです:
SQL が受け取る数値の文字列を渡します。数値の形式は次のとおりです。料理のID値は「1,2,3」と同様、クエリ後の料理分類に基づいて多次元配列に変換できます。


最初の質問は、この文字列を分割し、SQL クエリをリサイクルしてすべての結果を保存するにはどうすればよいでしょうか?

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$s=$ids;//接收到的ID字符串
ログイン後にコピー

SQL コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$sqlslt_veginfo="select {$tb_veg}.veg_id,{$tb_veg}.vsort_id,{$tb_veg}.veg_name,{$tb_veg}.veg_preprice,{$tb_veg}.veg_favprice,{$tb_veg}.veg_picstr,{$tb_veg}.veg_ptfs,{$tb_veg}.veg_ts,{$tb_veg}.veg_fj from {$tb_veg} 
where {$tb_veg}.veg_id='{$s}'and {$tb_veg}.vdel_vfy='0'";
$query_veginfo=$pdodb->query($sqlslt_veginfo);
$array_veginfo=$query_veginfo->fetch(2);

ログイン後にコピー

//この SQL は、料理の ID に基づいて料理の詳細情報をクエリします。その ID の文字列の料理情報をすべて保存するとどうなるでしょうか。

2 番目の質問は、すべての ID クエリ結果を保存する配列を次の多次元配列形式にどのように変更できるでしょうか?
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
$a=array(
    "2" => Array
        (
            "1" => Array
                (
                    "id" => 728,
                    "name" => "玉带香油莴笋",
                    "preprice" => 68,
                    "favprice" => 68,
                    "pic" => jdcpic1342685874.jpg,
                    "num" => 1,
                    "ts" => 0,
                    "fj" => ""
                ),
            "2" => Array
                (
                    "id" => 727,
                    "name" => 新杭帮熏鱼,
                    "preprice" => 38,
                    "favprice" => 38,
                    "pic" => jdcpic1342685755.jpg,
                    "num" => 1,
                    "ts" => 0,
                    "fj" => ""
                )

        ),
    "1" => Array
        (
            "1" => Array
                (
                    "id" => 749,
                    "name" => 秘制日本二十头极品鲍鱼,
                    "preprice" => 888,
                    "favprice" => 888,
                    "pic" => jdcpic1342688648.jpg,
                    "num" => 5,
                    "ts" => 0,
                    "fj" => ""
                ),
            "2" => Array
                (
                    "id" => 748,
                    "name" => 原汁慢煮焖煨中东干鲍鱼,
                    "preprice" => 788,
                    "favprice" => 788,
                    "pic" => jdcpic1342688600.jpg,
                    "num" => 1,
                    "ts" => 0,
                    "fj" => ""
                ),
            "3" => Array
                (
                    "id" => 747,
                    "name" => 炝椒酱爆嫩鸡丁,
                    "preprice" => 20,
                    "favprice" => 20,
                    "pic" => jdcpic1342688515.jpg,
                    "num" => 1,
                    "ts" => 0,
                    "fj" => ""
                )
        )
);

ログイン後にコピー

上記のコードでは、一番外側の 2 と 1 は料理のカテゴリを表します。この次元は 1 つのカテゴリである場合もあれば、4 つまたは 5 つのカテゴリに含まれる場合もあります。
次の 1、2、および 3 は次のとおりです。料理には番号が付けられ、自動的に表示されます。最後の値が料理の情報です。
変更方法。上記の SQL を使用して、最終的に次の多次元配列と同じ構造の配列を生成できますか?
専門家のアドバイスも欲しいです、ありがとう!

-----解決策---------
1: $array_veginfo=$query_veginfo - >fetch(2); この 2 を 0 または 10000 に変更すると何がわかりますか? 通常の設計条件では、2 が項目の総数になるはずです。制限
2:
echo "
";
print_r($array_veginfo);
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート