0

Android/iPhone アプリと通信するための PHP ファイルを設計していて、シンプルだが解決が難しい問題に遭遇しました。

この関数は、DB ( MySQL ) から 3 つのパラメーター (categories_id、categories_name、categories_picture) のみを取得し、それらを JSON 応答を介してアプリに送信します。問題は、どちらかというとカテゴリが (category_id ごとに) 順番どおりに送信されないためです。

質問: CATEGORIES_ID で 3 つの配列を同時に注文する方法はありますか?

現在の応答の例: category_id = ( 4, 8, 2, 1 ); カテゴリ名= (椅子、テーブル、ランプ、ドア); category_picture=( www.xyz.com/photo4.jpg,www.xyz.com/photo8.jpg,www.xyz.com/photo2.jpg,www.xyz.com/photo1.jpg) 望ましい応答: category_id = ( 1 、2、4、8); カテゴリ名= (ドア、ランプ、椅子、テーブル); カテゴリ_画像=( www.xyz.com/photo1.jpg,www.xyz.com/photo2.jpg,www.xyz.com/photo4.jpg,www.xyz.com/photo8.jpg)

3 つの配列が、categories_id による分類に基づいてどのように変化したかを見たことがありますか??

現在の機能:

if( $accion == 3 )
{    
    /*fetch category details from shop_category*/
    $sql = "select * from `shop_category` where `Stat` like 'Y' order by `CName`";
    $rec = @mysql_query( $sql );
    $row = @mysql_num_rows( $rec );**

    if( $row > 0 ) 
    {
        $path_to_link = 'category_pic/';
        while( $data = @mysql_fetch_array( $rec ) ) 
        {
            $categories_id[] = $data['C_ID'];
            $categories_name[] = stripslashes( $data['CName'] );
            $categories_picture[] = $domain.$path_to_link.$data['C_Image'];
        }

        $respond_categories = array( "categories_id"=>$categories_id, "categories_name"=>$categories_name, "categories_picture"=>$categories_picture );
        echo (json_encode($respond_categories)); 
    }

}

時間を割いて読んでくださった皆様に感謝いたします。ありがとう。

興味のある方は、Google Play の Cae de Cajon というアプリをご覧ください。これは、私のクライアントの 1 つのベータ版にすぎません。:) 誇りに思っています。Apple Store でも入手できますが、最新のものではありません。

4

3 に答える 3

1

ソリューションをありがとうございます。データベースから目的の応答を取得するためにC_IDを使用する代わりに、whileループでカウンターを使用できます。

if( $accion == 3 )
{    
    /*fetch category details from shop_category*/
    $sql = "select * from `shop_category` where `Stat` like 'Y' order by `C_ID`";
    $rec = @mysql_query( $sql );
    $row = @mysql_num_rows( $rec );
if( $row > 0 ) 
{
    $path_to_link = 'category_pic/';

$i = 0;
while( $data = @mysql_fetch_array( $rec ) ) 
    {
        $category_array[] = $i;
    $categories_id[] = $data['C_ID'];
        $categories_name[] = stripslashes( $data['CName'] );
        $categories_picture[] = $domain.$path_to_link.$data['C_Image'];
    $i++;
    }

    $respond_categories = array( "category_array"=>$category_array,"categories_id"=>$categories_id, "categories_name"=>$categories_name, "categories_picture"=>$categories_picture );
    echo (json_encode($respond_categories)); 
}
}
于 2012-06-13T08:14:53.380 に答える
0

クエリで order by 句を使用する必要があります

于 2012-06-09T21:20:21.603 に答える