- JavaScript 3
414 :デフォルトの名無しさん[sage]:2014/04/02(水) 00:38:07.74 ID:Q7Sipfvb - ajax使ったサイト作ってるんだけど
phpから返されるJSONオブジェクトがjsオブジェクトに変換してみると 全部オブジェクト化されてて困ってる php側の配列 $list = ["categori1" = array(), "categori2" = array(), "categori2" = array(),]; データベースからデータ取得してcategori1〜2内の配列に値をセット 以下セットする構造 array(["title" => "タイトル1", "setsumeibunn" => "解説1", "url" => "アドレス"], ["title" => "タイトル2", "setsumeibunn" => "解説2", "url" => "アドレス"]); jsで見るとcategori内がキー毎に数字をふられた名前でオブジェクト化されてる… [categori1[{"title" : "タイトル1"}, {"setsumeibunn" : "解説1"}, {"url" : "アドレス"}, {"title" : "タイトル2"}, {"setsumeibunn" : "解説2"}, {"url" : "アドレス"}]]; こうしたい[categori1[["title" => "タイトル1", "setsumeibunn" => "解説1", "url1" => "アドレス1"], ["title" => "タイトル2", "setsumeibunn" => "解説2", "url2" => "アドレス2"]]]; 分かり辛いと思うけど解決方法ある? 最悪XMLの方法に変えたら出来るけど、 jsonで解決方法あれば知りたいです
| - JavaScript 3
416 :デフォルトの名無しさん[sage]:2014/04/02(水) 09:32:05.30 ID:Q7Sipfvb - >>>415
ありがとう 書き方間違ってました申し訳ない ファイアバグで見るとこんな風になってた http://imepic.jp/20140402/335260 この状態だとfor inループが上手くいかないんです 解決方法分かるまでとりあえずxmlにしときます
| - JavaScript 3
419 :デフォルトの名無しさん[sage]:2014/04/02(水) 16:48:39.30 ID:Q7Sipfvb - >>>418
うおーありがとう しかも読みやすいな 無理矢理で汚いかも知れないけどphp のwhileループ内で明示的に配列番号指定して追加したらキレイに出力された $i_Web = 0; // 各配列番号 $i_Illust = 0; // samples一覧を生成する処理 $sql = sprintf("SELECT * FROM Portfolio WHERE type = 'samples';"); $query = mysql_query($sql, $link); while ($row = @mysql_fetch_array($query, MYSQL_ASSOC)) { if ($row['category'] == "WEB") { $array_list["ctgryweb"][$i_Web]['title'] = h($row['title']); // <-- 訂正前は$array_list["ctgryweb"][]['title'] $array_list["ctgryweb"][$i_Web]['discription'] = h($row['discription']); //省略… $i_Web++; // インクリメントして各データ毎を振り分ける配列番号 } else if ($row['category'] == "イラスト") { $array_list["ctgryillust"][$i_Illust]['title'] = h($row['title']); $array_list["ctgryillust"][$i_Illust]['discription'] = h($row['discription']); //省略… $i_Illust++; // インクリメントして各データ毎を振り分ける配列番号 } } // while end みんなの言う通りphp側の問題だった 答えてくれてありがとう
|
|