Actionscriptへ外部区切りデータの読み込みについて

このQ&Aのポイント
  • MySQLから出力されたデータをPHPでカンマ区切りの形受取り、それをさらにActionScriptへ読み込ませる作業について分割表示させる方法を教えてください。
  • ActionScriptに外部から読み込まれたカンマ区切りのデータを、テキストフィールドに分割して表示させる方法を教えてください。
  • PHPで出力されたカンマ区切りのデータをActionScriptに読み込ませる際、テキストフィールドに1つずつ分割して表示させる方法を教えてください。
回答を見る
  • ベストアンサー

Actionscriptへ外部区切りデータの読み込みについて

はじめまして。 過去の質問を検索しましたが、見つけることができなかったので投稿させていただきます。 いま、3択の問題集を作成しています。 MySQLから出力されたデータをPHPでカンマ区切りの形受取り、それをさらにActionScriptへ読み込ませる作業をしています。 loadVariablesを用いてカンマ区切りの状態で表示させることはできるのですが、分割して表示させることに難儀しています。 PHPをブラウザで表示させると、以下の通りになります。 //ここから choice1=コンピュータストレス,テクノストレス,サイバーストレス //ここまで 理想の形としては、テキストフィールドを3つほど用意し、そこに1つずつ入れ込んでいく形を考えています。 ご教授いただければ幸いです。 よろしくお願いします。

  • Flash
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

loadVariables で行くと, 「データのロード完了時」などにスクリプトを実行することが困難になります。 (Flash の特性を良く知っていて,それに見合った対処ができる場合は別ですが。) したがって, Flash MX 以降,もしくは Flash Player 6 以上を対象とする通常の場合, LoadVars クラスのメソッドを使います。 PHPをブラウザで表示させるた場合の URI が 仮に 「mydata.php」 だとして, 「mydata.php」 に表示されるデータ内容が, //ここから choice1=コンピュータストレス,テクノストレス,サイバーストレス //ここまで である場合は次のようにすると簡単です。 _root のフレーム1などに書くスクリプトです。 ------------------------------------------- // テキストフィールドを3つほど用意する // (テキストフィールドのインスタンス名my_txt0~my_txt2) for (i=0; i<=2; i++) { _root.createTextField("my_txt"+i, i, 50, 40*i+50, 200, 20); _root["my_txt"+i].border = true; } // // データが Shift-JIS の場合は必要 (UTF-8 では不要)↓ System.useCodepage = true; // // LoadVarsクラスのインスタンス myLV を作成 myLV = new LoadVars(); // myLV にデータがロードされたときの動作を定義 myLV.onLoad = function() { // 配列変数 myArr の作成 myArr = new Array(); // 配列要素にロードしたデータを「,」で区切って代入 myArr = myLV.choice1.split(","); // 配列の要素分ループ for (i=0; i<myArr.length; i++) { _root["my_txt"+i].text = myArr[i]; } }; // // 外部データのロード myLV.load("mydata.php"); -------------------------------------------  

waka9512
質問者

お礼

お返事、ありがとうございます。 早速実践してみたところ、やりたかった表示形式へもっていくことができました。 コメント文で丁寧にアドバイスもいただき、感謝しています。 機会ありましたら、またよろしくお願いします。

関連するQ&A

  • flash ActionScript textファイルの文字列の置換

    お願いいたします。 flash ActionScript2.0 で、外部で読み込んでいるtxtファイル内の「,」半角カンマの表示を、swfファイルで「全角(半角)スペース」に置き換えて表示させたいのですが、その場合どのようなScriptを記述すればよいのですか? 現在→ ムービークリップに対して、 onClipEvent (load) { this.loadVariables("flash.txt"); } というActionScriptを記述して、flash.txtという外部ファイルを読み込んでいます。 そこまでは、問題なくできたのですが、 flash.txtファイル内「,」半角カンマの表示を、swfファイルで「全角(半角)スペース」に置き換えて表示させるscriptがわかりません。 教えて下さい。お願いいたします。

    • ベストアンサー
    • Flash
  • カンマ区切りの文字列にPOSTデータをもぐりこませたい

    PHPでデータベースに挿入するデータを作成する段階で困っています。 作成したいデータは数字をカンマ区切りで形成しようとしています。 例は $_POST["p2"]="2"というデータがあれば 0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0・・・ という感じで $_POST["p8"]="6"というデータがあれば 0,0,0,0,0,0,0,6,0,0,0,0,0,0,0・・・ で70個の数字をカンマで区切った形で表現したいです。 どのようにしたら良いでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • ActionScriptとphpの連携について

    ActionScriptとphpの連携について質問があります ActionScriptで受け取った値をphpに送り、その値をphp(htmlに埋め込み)で表示させたいと考えています。 動作としましては、 ・あらかじめテキストボックスに文字列が入力されている ・ボタンをクリックする ・別ウィンドウが出現(getURLでphpファイルを表示)テキストボックスに入力されていた文字列が表示される ・phpのファイルでラジオボタンで項目を選択し送信ボタンを押す ・MySQLに接続、ActionScriptで受け取った値とラジオボタンで受け取った値をまとめてデータベースに保存 というものにしたいです。 ボタンをクリックするまではすべてFlashで実現させています。 Flash→php→Flashという流れで値を表示させる方法はわかるのですが、Flash→phpで表示させることは可能でしょうか もし可能であれば、どのように実現したらよろしいでしょうか 現在はLoadVarsクラスのLoadVars.sendAndLoad()を使っています ActionScriptは2.0です 至らないところもございますが、素早い回答をお願いいたします

    • ベストアンサー
    • Flash
  • LOAD DATA INFILE がどうしても出来ません。。

    PHP 4.4.8 MYSQL 4.0.27 で、HTMLはEUC MYSQLもEUCで運用しています。 PHPの中に以下のように動作させようとしています。 $sql = "LOAD DATA INFILE 'data.txt' INTO TABLE test FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n'"; エラーを表示させるために $rst = mysql_query($query) or die("<b>A fatal MySQL error occured</b>.\n<br />Query: " . $query . "<br />\nError: (" . mysql_errno() . ") " . mysql_error()); すると A fatal MySQL error occured. Query: Error: (1065) Query was empty このような表示が出てきます。 テーブルはフィールド2つで両方とも varchar(100) にしています。 タブ区切り、改行はCRLFです。 こうしておいた方が、ミスが特定しやすいと思って。 11 1111 22 2222 phpmyadmin からは、load 出来ます。*フィールドの区切りを【\t】に変更するだけで。 同じディレクトリに上記PHPを書いたファイルと読み込ませる【data.txt】を置いています。 **同じMYSQL 同じディレクトリで表示やselect は出来るのでパスワードなどのミスでは無いようです。 やりたい事は、毎月10万レコード程度を入力したいのですが、 phpmyadmin からの操作ではなく、PHPで処理をしたいのです。 多分、そんなに難しい事ではないので 過去ログを見ても、本屋さんで探しても詳しく解説していなくて 私の間違いが、特定出来ません。 どなたかご教授いただけるととてもありがたいです。m(__)m

    • ベストアンサー
    • MySQL
  • Excelの区切り位置がうまくいかない

    Excelで、ひとつの列のデータを分割するため「区切り位置」を利用したいのですが、うまく分割することができません。   会社名 部署名 役職 上記のようにデータが入力されていて、区切り文字はスペース、セミコロン、カンマといろいろ試したのですが、分割すると二つめ以降のデータが消えてしまいます。 初めに、区切り位置指定ウィザード1/3のプレビューでは、元のデータがそのまま表示されています。 ウィザードの2/3に進むと、該当の区切り文字にチェックを入れていても、プレビューに「会社名」のみしか表示されておらず、それで完了すると、「会社名」のみのデータに置き換わってしまいます。 データが長すぎるのかと簡単なデータを入力してみたところ、うまくできました。 また、入っているデータと同じ内容を手入力して試したところ、そちらもうまくできましたので、データの長さではないようです。 元のデータの形式が何かおかしいのかと、新しいブックに該当の列だけを値で貼り付けたり、セルの書式設定で表示形式を変更してみたりしましたが、やはりうまくできません。 データの数が多いので、全てのデータを手入力で入れ直すわけにはいかず、困っています。 教えていただけたら助かります。 どうぞよろしくお願いいたします。

  • REGEXPで希望の動作をしてくれない

    MySQLは5.0を使っています。 1のフィールドに「11,28,33」と言うようにカンマ区切りのデータを保存しています。 下記ページと全くやりたいことが同じだったのですが、 http://q.hatena.ne.jp/1194079682 SELECT * FROM test_db WHERE user_id REGEXP '^11$' にしても抽出してくれません。 フィールドを「11」のみにすると問題なく抽出してくれました。 カンマ区切りのデータから特定の数字を抽出するためには他になにが必要でしょうか。 フィールドがvarcharなのがいけないのでしょうか。

    • ベストアンサー
    • MySQL
  • PHP+MySQL でのcsvファイルインポート

    PHP + MySQL で、他システムから出力されてきたcsvファイルをテーブルへインポートしたいと考えています。 LOAD DATA INFILE で取り込もうとしていますが、対象のcsvファイルの特徴のためにうまく行かず苦戦しています。 取り込みたいファイルは、以下のようになっています。  ・各フィールドが "(ダブルクォート) で囲まれている  ・各フィールドは ,(カンマ) で区切られている  ・金額の項目には、桁区切りのカンマが入っている  例) "0001","あああああ",…(中略)…,"105,000","100,000","5,000",…     コード 項目名            税込み  税抜き 消費税  というような形です。    困っているのは、金額に使われている、桁区切りのカンマの処理についてです。  目的としては、データベースへ取り込むときには 105,000 は 105000 として取り込めればいいのですが、他システムから、桁区切りがなされた状態でcsvが作成されてきています。 LOAD DATA INFILE test.csv INTO TABLE data_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' IGNORE 1 LINES;  各項目のダブルクォートはENCLOSED BY で、項目を分けるカンマはTERMINATED BYで処理できていると思うのですが、金額の区切りに使われているカンマと項目の区切りのカンマを区別させられずに苦戦しています。  事前にcsvを加工するのも考えてはいるのですが、なるべくcsvを加工せずにそのまま取込したいと思います。  何か、簡単に回避できる方法等があればご教示願います。  宜しくお願いします。

    • ベストアンサー
    • PHP
  • セレクトフォームで選択した複数の値の挿入

    こんにちは。 標題の通りセレクトフォームで複数の値を渡した時のテーブルへのInsertの方法について悩んでいます。 環境はPHP5.1.2、MYSQL5、Apache2です。 やりたいことはセレクトフォームで複数の値を選択した場合、カンマ区切りにしてひとつのフィールドに格納したいということです。 現在つまづいている部分は、カンマ区切りにした値をInsertする部分です。表示するだけならいいのですが、どうしても最後の値しかInsertできません。(ちなみに挿入する値は数値です。フィールドはカンマを入れるのでVarcharにしています) 下にソースを書きましたが、この書き方だと前の値が上書きされているためだということはわかるのですが、どうしても書き方がわかりません。 できれば $value = $id['0'].",".$id['1'].",".$id['2']....; というような形で挿入したいのです。(ほかに同等の形になるよい方法があればこの形にこだわりません) へたな説明で申し訳ありませんがよろしくお願いします。 <<index.php>> <form action="entry.php" method="post"> <select name="bugID[]" multiple> <option value="id1" name="bugid">AA</option> <option value="id2" name="bugid">BB</option> <option value="id3" name="bugid">CC</option> <option value="id4" name="bugid">DD</option> </select> <input type="submit" value="送信"> </form> <<entry.php>> if($_POST["bugID"]){ foreach($_POST["bugID"] as $value){ $bug_id = $value.","; } } mysql_select_db($DB,$mysql) or die ("Entryデータベースの接続に失敗しました\n".mysql_error()); $query = "insert into ".entryTA." (bug_id)"; $query .= " values('{$bug_id}')"; mysql_query($query,$mysql);

    • ベストアンサー
    • PHP
  • アクセスのフォームにカンマ区切りで数値を入力し、そのまま反映させデータ

    アクセスのフォームにカンマ区切りで数値を入力し、そのまま反映させデータ出力したいです。 つい先日はお世話になりました。 おかげさまで出したい表を作れるようになりました。 そ、そして今度は、その表をマクロやフォームを使って簡単に出そうと試みています。 JANコードというフォームにJAN「aaaaaaaaaaaaa」を入力すると、 「aaaaaaaaaaaaa」という商品の在庫を所持している店舗を出すというものです。 ↓↓↓ -------------------------------- JAN |店舗 | -------------------------------| aaaaaaaaaaaaa |1,2,4,6 | -------------------------------- 理想は、カンマ区切りの複数JANをフォームに入力したら、それらの一覧表が出力される仕様です。 ↓↓↓ -------------------------------- JAN |店舗 | -------------------------------| aaaaaaaaaaaaa |1,2,4,6 | -------------------------------- bbbbbbbbbbbbb |1,3,5,6 | -------------------------------- ですが、今現在は単品でしか表が出せないという問題です。 下記のクエリの抽出条件で、入力した数値を導きだそうとしています。 In ([Forms]![在庫所持店舗表作成]![JAN]) 単品なら上手く事が運び、表がでるのですが、 カンマ区切りの複数になると抽出条件が一致しませんとエラー表示が出ます。 どうやら、フォームで入力したカンマ区切りの数値が、 クエリ抽出条件側では「カンマ」が取り除かれています。 フォーム「aaaaaaaaaaaaa,bbbbbbbbbbbbb」 ↓↓↓ クエリ上「aaaaaaaaaaaaabbbbbbbbbbbbb」 このクエリで使用しているテーブルには勿論、 26桁のJANなんか存在しませんので、エラー表示です。。 カンマ区切りJAN「aaaaaaaaaaaaa,bbbbbbbbbbbbb」のまま反映させる方法はありませんか?? 複数商品の検索が出来ないとほぼ使い物になりませんorz アクセス2000を使用しています。 何卒!何卒よろしくお願い致します。。。

  • 一つのカラムから、データを分けて取り出す方法

    現在、PHP4とMysql4.1の環境を利用しています。 カラムからのデータ抽出で、うまくいきません。 例えば、カラムに次のような形でデータがあった場合、それをカンマで区切って別々に抽出し、かつ重複を除いてブラウザに表示させるにはどのような方法があるでしょうか。 +-------------+ | A,B,C,A,B,C | +-------------+ 上記配列をDBからmysql_fetch_arrayで取得し、 その後splitして、printしましたが、 ブラウザ上では「array」と表示されてしまいました。 何か方法がありましたら、 ご教授いただければ幸いです。

    • ベストアンサー
    • PHP