トップページ > プログラム > 2014年04月02日 > Q7Sipfvb

書き込み順位&時間帯一覧

12 位/179 ID中時間01234567891011121314151617181920212223Total
書き込み数1000000001000000100000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
JavaScript 3

書き込みレス一覧

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側の問題だった
答えてくれてありがとう


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。