トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   サーバ関連【CGI・FCS・XMLSocket etc】
     Flash+PHP+MySQLの連携について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yousona
Åê¹ÆNo.32918
投稿日時: 2007-4-15 9:29
半人前
居住地:
投稿: 35
使用環境:
winxp
Flash MX 2004 pro
Flash+PHP+MySQLの連携について
初めまして
はじめて投稿します。
よろしくお願いします。

flash+php+mysqlで
ランキング表示したいと思い
いろいろ試しているのですが
flashからのデータをrankingに登録
することはできたのですが
flashでのランキング表示ができません。
どこに問題があるのか教えていただけませんか。
よろしくお願いします。

(1)MYSQLのtable table名ranking
+-----------+-------+
| name | score |
+-----------+-------+
| yuiko | 3000 |
| mytest | 26034 |
| yumiko | 2000 |
| ssso | 219 |
| aiko | 2200 |
+-----------+-------+
(2)PHPのスクリプト(ファイル名:list.php)
//このスクリプトでrankingの最初の1行のphp表示はできます。
<?php
$con = mysql_connect("localhost","","");
if (!$con) {
echo ("Error:MySQLに接続できませんでした<br>\n");
exit;
}

$selectdb = mysql_select_db("test",$con);

$sql = "select name,score from ranking";
$result = mysql_query($sql,$con);
 $row=mysql_fetch_row($result);

print($row[0]);
print($row[1]);

?>

(3)Flash(flash mx 2004 pro使用)
シーン1にボタン1個、ダイナミックテキストボックス2個
それぞれ変数をname1,score1を配置して以下のActionScriptを書いていますが
反応なしです。

on (press) {
mysqlData = new LoadVars();
receiveData = new LoadVars();
mysqlData.load("http://localhost/list.php", receiveData, "GET");


}
on (release) {
receiveData.onLoad=function(){
name1= receiveData.name1;
score1= receiveData.score1;
}

}
ペコ
Åê¹ÆNo.32919
投稿日時: 2007-4-15 9:55
新米
居住地: 埼玉一歩手前
投稿: 19
使用環境:
WinXP,Flash MX2004pro
Flashout,ASDT,MTASC,Eclipse
PDT
Re: Flash+PHP+MySQLの連携について
引用:

print($row[0]);
print($row[1]);





print('&name1=' . $row[0] . '&score1=' . $row[1] . '&');


でどうですか?
yousona
Åê¹ÆNo.32920
投稿日時: 2007-4-15 10:45
半人前
居住地:
投稿: 35
使用環境:
winxp
Flash MX 2004 pro
Re: Flash+PHP+MySQLの連携について
ペコさん
よろしくお願いします。

うまくいかなかったです。
FLASH側 表示用のhtml(swf)を開くと
ボタンを押さないでも
の2つのテキストボックス

_level0.name
_level0.score

と表示されたままになっています。
ボタンを押しても変化なしでした。
ペコ
Åê¹ÆNo.32922
投稿日時: 2007-4-15 11:38
新米
居住地: 埼玉一歩手前
投稿: 19
使用環境:
WinXP,Flash MX2004pro
Flashout,ASDT,MTASC,Eclipse
PDT
Re: Flash+PHP+MySQLの連携について
すいません。自分自身「TextFieldに変数を設定」
したことがないので変更点があります。

引用:

(3)Flash(flash mx 2004 pro使用)
シーン1にボタン1個、ダイナミックテキストボックス2個
それぞれ変数インスタンス名をname1,score1を配置



on (press) {
mysqlData = new LoadVars();
receiveData = new LoadVars();
mysqlData.load("http://localhost/list.php", receiveData, "GET");
}

on (release) {
mysqlData = new LoadVars();
receiveData = new LoadVars();
receiveData.onLoad=function(){
  _root.name1.text= receiveData.name1;
    _root.score1.text= receiveData.score1;
}
mysqlData.load("http://localhost/list.php", receiveData, "GET");
}


PHPは先の僕が投稿したものです。
ひろゆき
Åê¹ÆNo.32925
投稿日時: 2007-4-15 12:38
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: Flash+PHP+MySQLの連携について
引用:
yousonaさんは書きました:
flashからのデータをrankingに登録
することはできたのですが
flashでのランキング表示ができません。

PHPで出力されるデータを「ランキング登録結果を読み込む」だけではなく、
ランキング用の name, score の
データ送信した上で、そのランキング登録結果を読み込む」必要があるのであれば、
LoadVars.load ではなく、
LoadVars.sendAndLoad を用いなければならない気がしますが...。
# それに、LoadVars.load には、第2引数, 第3引数はなかったと思います。

登録するデータを送信はしないのでしょうか?

スクリプトにそれらしきものが見当たりませんが、
スクリプト以前に、何をなさりたいのか、
もう少し明確にされた方が良いように思います。

仮に、ボタンのインスタンス名を my_btn とした場合、
この my_btn で、
(1) PHP を介して、MySQL に送信したデータを登録するだけ
(2) PHP を介して、MySQL からのデータを受け取るだけ
(3) PHP を介して、MySQL にデータを送信し、登録されたデータを受け取る
のいずれを実現しようとなさっているのでしょうか?


----------------
質問する際は、回答者に具体的な情報を与えてください。

yousona
Åê¹ÆNo.32934
投稿日時: 2007-4-15 22:45
半人前
居住地:
投稿: 35
使用環境:
winxp
Flash MX 2004 pro
Re: Flash+PHP+MySQLの連携について
ひろゆきさん
ペコさん
ありがとうございました。

教えていただいた
PHPスクリプト
やActionScript
を前提にして

以下のようにActionScriptを書き換えることによって
DBの1行目を抽出することに成功しました。
どうもありがとうございました。これができなくて
何日もやっていたのですが今日やっとできました。
感謝しています。

わたしのやりたいことはFLASHでゲームをやった人の
記録(やった回数とか得点)をとり、管理したかったのです。
ひろゆきさんのご指摘の(3)をしたいと考えています。


>(3) PHP を介して、MySQL にデータを送信し、登録されたデータを受け取る

その前に、解決しておかなければならない問題が発生しましたので
検討して、また、投稿させていただきます。 


on (release) {
mysqlData = new LoadVars();
receiveData = new LoadVars();
receiveData.onLoad=function(){
_root.name1.text= receiveData.name1;
_root.score1.text= receiveData.score1;
}
mysqlData.sendAndLoad("http://localhost/list.php", receiveData, "POST");
}

on (release) {
receiveData.onLoad=function(){
name1.text= receiveData.name;
score1.text= receiveData.score;
}

}


ひろゆき
Åê¹ÆNo.32935
投稿日時: 2007-4-15 23:04
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: Flash+PHP+MySQLの連携について
引用:
シーン1にボタン1個、ダイナミックテキストボックス2個
それぞれ変数をname1,score1を配置して以下のActionScriptを書いていますが

送信するデータを入力するテキストフィールド
受信したデータを表示するテキストフィールド
以上、4つ必要になるように思います。
それぞれのインスタンス名を
send_name, send_score, receive_name, receive_score として、
また、ボタンのインスタンス名を my_btn だとして。

_root 第1フレームに
mysqlData = new LoadVars();
receiveData = new LoadVars();
receiveData.onLoad=function(success) {
	if (success) {
		receive_name.text= this.name1; 
		receive_score.text= this.score1;
	}
};
my_btn.onRelease = function() {
	mysqlData.name = send_name.text;
	mysqlData.score = send_score.text;
	mysqlData.sendAndLoad("http://localhost/list.php", receiveData, "POST");
};
と記述。

ただし、このままでは、php で、name, score が受け取れるようにはなっていませんが。

もっと基本的なことから着手された方が良いように思います。


----------------
質問する際は、回答者に具体的な情報を与えてください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops