• 締切済み

PHPでjavascriptの2次元配列を宣言する

はじめまして。 とっても困ってるので質問させてください。 「データベースからの取り出したデータをjavascriptで扱いたい」 下記のソースでjavascriptの2次元配列を宣言しているつもりなのですが、 データの取り出しが上手くいきません。。。 宣言自体ができてないのでしょうか??? PHPのソースを貼り付けます↓ echo "<script type=\"text/javascript\">"; echo "//<![CDATA["; echo "var SKind_name=new Array(".$temp.");"; for ($i=1;$i<=$cat_dtcnt;$i++) { $sql_scat_cnt = "SELECT COUNT(*) AS cnt FROM `map_subkind` WHERE kind_id = '".$i."'"; $res_scat_cnt = mysql_query($sql_scat_cnt) or die("データ抽出エラー"); $row_scat_cnt = mysql_fetch_array($res_scat_cnt, MYSQL_ASSOC); $scat_dtcnt = $row_scat_cnt["cnt"]; $temp = $scat_dtcnt+1; echo "SKind_name[".$i."]=new Array(".$temp.");"; echo "SKind_name[".$i."][0]=".$scat_dtcnt.";"; $sql_subcat= "SELECT * FROM `map_subkind` WHERE kind_id = '".$i."'"; $rst_subcat=mysql_query($sql_subcat) or die("データ抽出エラー"); $scatcnt = 1; while($row_scat=mysql_fetch_array($rst_subcat)) { echo "SKind_name[".$i."][".$scatcnt."] = \"".mb_convert_encoding($row_scat["skind_name"],"SJIS","EUC-JP")."\";"; $SKind_name_array[$i][$scatcnt] = mb_convert_encoding($row_scat["skind_name"],"SJIS","EUC-JP"); $scatcnt ++; } $scatcnt--; } echo "// --></script>";

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

フローがいまいち見て取れません。 そもそもforの中の「$cat_dtcnt」は宣言されていないので「0」 でしょうから、forはループしないですよね。 かなりぐちゃぐちゃなので、もうすこし切り分けて検証なさる と少しは理解ができるかもしれません。 ご自身で適当にコメントアウトしながらテストしてみてください。

tomo0927
質問者

お礼

echo "//<![CDATA["; echo "// --> を取ったら動作しました!! お騒がせしました。

関連するQ&A