freeze
30.06.2004, 20:08
Hey @all,
ich weiß zwar nicht ob ich mit Flash MX hier richtig bin, jedoch weiß ich nicht wo ich es sonst posten soll.
Nun zu meinen Problem. UNd zwar habe ich per php ein Gästebuch, diese Gästebuch würde ich gerne für meine lash-Seite ebenso verwenden.
Ich habe mir da ein eigenes PHP-Skript dafür angelegt, das mir die Daten aus der MySQL-Datenbank holt, und es für Flash aufbereitet. Nur funktioniert da irgendwie die FOR-Schleife nicht. ich kann mir auch nicht erklären warum sie nicht funktioniert. Er gibt mir einfach nicht die Variablen aus
Hier mal der PHP Code, der bereits funktioniert:
.
.
.
switch($_GET['id']) {
case 1: // Abfrage für das Gästebuch
$mysql_select = "SELECT * FROM " . $Table . " ORDER BY ID ASC";
$result = mysql_query($mysql_select, $DB);
$cant = 0;
if($result) {
while($obj=mysql_fetch_object($result)) {
$message = $obj->message;
echo "&Datum$cant=" . $obj->datum . "\n";
echo "&Name$cant=" . $obj->name . "\n";
echo "&ICQ$cant=" . $obj->icq . "\n";
echo "&Email$cant=" . $obj->email . "\n";
echo "&Webpage$cant=" . $obj->webpage . "\n";
echo "&Message$cant=" . $message . "\n";
$cant++;
}
echo "&cant=" . $cant . "\n";
}
break;
.
.
.
Dieser Teil bereitet mir den String wie folgt auf:
&Datum0=30.06.2004
&Name0=Testuser
&ICQ0=01237981
&Email0=keine Email
&Webpage0=kein Eintrag
&Message1=Testeintrag
&Datum1=30.06.2004
&Name1=Anonym
&ICQ1=12763821
&Email1=googlemaster@google.de
&Webpage1=http://www.google.de
&Message1=Testeintrag2
Hier ist mal der Flash-Code
on(Release) {
// ?id=1 ......Hole Daten für das Gästebuch aus der Datenbank
// ?id=2 ......Schreibe übernommene Daten in die Datenbank
var conString = "flash.php?id=1";
/*
- - Wenn ich diese Teil entkommentiere, dann belieben die Felder leer. Warum? - -
errormsg.text = "";
datum.text = "";
name.text = "";
icq.text = "";
email.text = "";
website.text = "";
nachricht.text = "";*/
/*
- - Dieser Teil funktioniert im Ausgabefenster unter Flash
for(var i=0; i<100; i++) {
trace("Bin in Schleife I="+i);
}*/
myData = new LoadVars();
// myData.ref = this;
myData.load(conString, myData);
myData.onLoad = function(success) {
if(success) {
errormsg.text = "Loading Data...";
for(var i=0; i<this.cant; i++) {
datum.text = this["Datum"+i];
name.text = this["Name"+i];
icq.text = this["ICQ"+i];
email.text = this["Email"+i];
website.text = this["Webpage"+i];
nachricht.text = this["Message"+i];
}
counter.text = this.cant;
}
else {
errormsg.text = "Error loading data\n" + conString;
trace("Error loading data");
}
}
}
Folgender Flash-Code funktioniert (ich schreibe aber nurmehr aber der IF-Anweisung damit es nicht zu unübersichtlich wird):
if(success) {
errormsg.text = "Loading Data...";
datum.text = this.Datum0;
name.text = this.Name0;
icq.text = this.ICQ0;
email.text = this.Email0;
website.text = this.Webpage0;
nachricht.text = this.Message0;
counter.text = this.cant;
}
else {
errormsg.text = "Error loading data\n" + conString;
trace("Error loading data");
}
}
}
Ich habe natürlich gegoogelt, und da habe ich folgende Code-Schnipsel gefunden:
myData = new LoadVars();
myData.ref = this;
myData.load(conString, myData);
myData.onLoad = function(success) {
if(success) {
errormsg.text = "Loading Data...";
for(var i=0; i<this.cant; i++) {
// NUR was bedeutet das folgende???
this.ref["Title_txt"+i].text = this["Title_txt"+i]
this.ref["Coments_txt"+i].text = this["Coments_txt"+i]
this.ref["holder_mc"+i].loadMovie(this["Image"+i])
}
}
else {
trace("Error loading data");
}
}
Ich hoffe es kann mir jemand helfen
Lg freeze
ich weiß zwar nicht ob ich mit Flash MX hier richtig bin, jedoch weiß ich nicht wo ich es sonst posten soll.
Nun zu meinen Problem. UNd zwar habe ich per php ein Gästebuch, diese Gästebuch würde ich gerne für meine lash-Seite ebenso verwenden.
Ich habe mir da ein eigenes PHP-Skript dafür angelegt, das mir die Daten aus der MySQL-Datenbank holt, und es für Flash aufbereitet. Nur funktioniert da irgendwie die FOR-Schleife nicht. ich kann mir auch nicht erklären warum sie nicht funktioniert. Er gibt mir einfach nicht die Variablen aus
Hier mal der PHP Code, der bereits funktioniert:
.
.
.
switch($_GET['id']) {
case 1: // Abfrage für das Gästebuch
$mysql_select = "SELECT * FROM " . $Table . " ORDER BY ID ASC";
$result = mysql_query($mysql_select, $DB);
$cant = 0;
if($result) {
while($obj=mysql_fetch_object($result)) {
$message = $obj->message;
echo "&Datum$cant=" . $obj->datum . "\n";
echo "&Name$cant=" . $obj->name . "\n";
echo "&ICQ$cant=" . $obj->icq . "\n";
echo "&Email$cant=" . $obj->email . "\n";
echo "&Webpage$cant=" . $obj->webpage . "\n";
echo "&Message$cant=" . $message . "\n";
$cant++;
}
echo "&cant=" . $cant . "\n";
}
break;
.
.
.
Dieser Teil bereitet mir den String wie folgt auf:
&Datum0=30.06.2004
&Name0=Testuser
&ICQ0=01237981
&Email0=keine Email
&Webpage0=kein Eintrag
&Message1=Testeintrag
&Datum1=30.06.2004
&Name1=Anonym
&ICQ1=12763821
&Email1=googlemaster@google.de
&Webpage1=http://www.google.de
&Message1=Testeintrag2
Hier ist mal der Flash-Code
on(Release) {
// ?id=1 ......Hole Daten für das Gästebuch aus der Datenbank
// ?id=2 ......Schreibe übernommene Daten in die Datenbank
var conString = "flash.php?id=1";
/*
- - Wenn ich diese Teil entkommentiere, dann belieben die Felder leer. Warum? - -
errormsg.text = "";
datum.text = "";
name.text = "";
icq.text = "";
email.text = "";
website.text = "";
nachricht.text = "";*/
/*
- - Dieser Teil funktioniert im Ausgabefenster unter Flash
for(var i=0; i<100; i++) {
trace("Bin in Schleife I="+i);
}*/
myData = new LoadVars();
// myData.ref = this;
myData.load(conString, myData);
myData.onLoad = function(success) {
if(success) {
errormsg.text = "Loading Data...";
for(var i=0; i<this.cant; i++) {
datum.text = this["Datum"+i];
name.text = this["Name"+i];
icq.text = this["ICQ"+i];
email.text = this["Email"+i];
website.text = this["Webpage"+i];
nachricht.text = this["Message"+i];
}
counter.text = this.cant;
}
else {
errormsg.text = "Error loading data\n" + conString;
trace("Error loading data");
}
}
}
Folgender Flash-Code funktioniert (ich schreibe aber nurmehr aber der IF-Anweisung damit es nicht zu unübersichtlich wird):
if(success) {
errormsg.text = "Loading Data...";
datum.text = this.Datum0;
name.text = this.Name0;
icq.text = this.ICQ0;
email.text = this.Email0;
website.text = this.Webpage0;
nachricht.text = this.Message0;
counter.text = this.cant;
}
else {
errormsg.text = "Error loading data\n" + conString;
trace("Error loading data");
}
}
}
Ich habe natürlich gegoogelt, und da habe ich folgende Code-Schnipsel gefunden:
myData = new LoadVars();
myData.ref = this;
myData.load(conString, myData);
myData.onLoad = function(success) {
if(success) {
errormsg.text = "Loading Data...";
for(var i=0; i<this.cant; i++) {
// NUR was bedeutet das folgende???
this.ref["Title_txt"+i].text = this["Title_txt"+i]
this.ref["Coments_txt"+i].text = this["Coments_txt"+i]
this.ref["holder_mc"+i].loadMovie(this["Image"+i])
}
}
else {
trace("Error loading data");
}
}
Ich hoffe es kann mir jemand helfen
Lg freeze