Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-09-2004, 12:08   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Verden
Beiträge: 43
Variable kommt als String zurück

Hallo Leute,
kaue schon an den Nägeln, meine Bücher sind schon zerfleddert. Ich weiß mal wieder nicht weiter. Übergebe aus Flash einen Wert an ein PHP-Script. Dieser Wert löst ein DB-Connect aus. Das Ergebnis übergebe ich wieder an Flash um dort mit dem Ergebnis weitere Berechnungen anzustellen. Leider ist der vom PHP-Script kommende Wert immer ein String. Eine Umwandlung int(wert) ergibt leider immer nur Null.

anzahl = new LoadVars();
anzahl.onLoad = function(geladen){
if (geladen){
trace('Bingo:');
trace(this.zahl);
// Beispiel wert = (int(this.zahl) + 2) ergibt immer zwei.
}else{
trace('Schade');
}
}
anzahl.modus = '223'; // geht ans php script

anzahl.sendAndLoad('http://localhost/wtf/internet/anzahl.php', anzahl);

Habe schon bald keine Nägel mehr, wer kann mir helfen.


Gruß Manfred
Manfred007 ist offline   Mit Zitat antworten
Alt 03-09-2004, 12:35   #2 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
hatte letztens das Problem mit der Variablen-Übergabe von JavaScript an Flash. und genau dort hatt eich das gleiche Problem. Zu mir meinte einer das das wohl immer so sei.... denke von PHP zu Flash wird es wohl genau das gleich Problem sein.....
fany ist offline   Mit Zitat antworten
Alt 03-09-2004, 12:39   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 302
probier mal das hier:


zahl = new Number(stringZahl);
fany ist offline   Mit Zitat antworten
Alt 03-09-2004, 12:45   #4 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
es sollte theoretisch schon ausreichen, wenn Du Deine Rechnung anders schreibst. Flash MX sollte den Wert dann automatisch umwandeln:

Code:
wert = (this.zahl-(-2))

btw. fällt mir grade mal so auf... int() ist hier auch die falsche Funktion... was Du suchst ist Number()

Code:
wert = (Number(this.zahl) + 2)
__________________
Alles ist wie immer. Nur schlimmer.

Geändert von querkopf (03-09-2004 um 12:49 Uhr)
querkopf ist offline   Mit Zitat antworten
Alt 03-09-2004, 17:07   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Verden
Beiträge: 43
Leider klappt nichts von dem...

Hallo Leute, erstmal Danke für die schnellen Antworten und Eure Bemühungen.
Ich habe alle diese Varianten und zusätzlich noch Math.floor und Math.round ausprobiert: immer das gleiche Ergebnis: die Variable aus Flash ist ein String und nach der Umwandlung bekomme ich immer NaN.

Trotzdem allen nochmals Danke, vielleicht stolpert ja noch jemand über die Lösung - dann her damit.

Gruß und ein schönes Wochenende
Manfred
Manfred007 ist offline   Mit Zitat antworten
Alt 03-09-2004, 17:19   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hi.

Finde ich komisch.
Ich kenne mich mit dem sendAndLoad ja nicht aus.
Wo wird denn überhaupt die anzahl.modus="223" gesendet?
Und warum wird anzahl.modus="223" als String verfasst?

Hier nochmal zum auffrischen, wie man mit einem String
rechnen kann:

ActionScript:
  1. a = "223";
  2. b = 20;
  3. trace(Number(a) + b);
  4. trace(int(a) + b);
  5. trace(a - b + 2 * b);
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 03-09-2004, 17:30   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Verden
Beiträge: 43
223 ist nur ein Bsp.

Hallo John,
die 223 könnte eine Bild_Id sein. Anwender klickt auf ein Bild, Bild hat ID z.B.: 223. Diese ID wird an ein PHP-Script gesendet. Dort findet eine Mysql Abfrage statt z.B.: SELECT * FROM bilder WHERE id = '$_Post[id]'";

in dieser Tabelle (bilder) stehen weitere Informationen zu diesem Bild. Eine dieser Information ist es, ob es noch weitere Bilder zu diesem Bild gibt. Diese Information wird nun wieder zurück an das Actionscript gesendet, welches dann (z.B. 3 weitere Bilder sind vorhanden) über eine For Schleife 3 weitere Movieclips erstellt in welche dann diese Bilder geladen werden. Da die 3 aber anscheinend ein String ist und ich sie auch bisher nicht umwandeln konnte, sieht die For Schleife sinnbildlich so aus: for (i=1;i<=NaN;i++) <- kann nicht funktionieren.

Habe wirklich alle hier vorgeschlagenen und weitere Lösungen ausprobiert - es klappt irgendwie nicht.

Trotzdem schönen Dank und ein schönes Weekend

Gruß Manfred

Geändert von Manfred007 (03-09-2004 um 17:32 Uhr)
Manfred007 ist offline   Mit Zitat antworten
Alt 03-09-2004, 17:37   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Verden
Beiträge: 43
Hier nochmal mein PHP-Script

Hallo John,
vielleicht mache ich ja einen Fehler in meinem PHP-Script.
<?php
include("include/constants.php");
$test = $_POST['modus'];
$query="select * FROM folie2rubrik WHERE r_id = '$test'";
$result=mysql_db_query($db,$query,$con);
$anzahl = mysql_num_rows($result);
$anzahl = urlencode($anzahl);
echo "&zahl=".$anzahl;
?>

Rechnen will ich im üblichen Sinne nicht mit der Variable - ich brauche sie wie gesagt für die Schleife.

ciao Manfred

Geändert von Manfred007 (03-09-2004 um 17:40 Uhr)
Manfred007 ist offline   Mit Zitat antworten
Alt 03-09-2004, 17:46   #9 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Aber wennst des tracen kannst "trace(this.zahl);" dann passt Dein PHP doch
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 03-09-2004, 17:49   #10 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Verden
Beiträge: 43
Jo, als string

Hallo,
ja trace(this.zahl) gibt z.B. 3 zurück.
trace(typeof(this.zahl)) gibt string zurück und mit einem String kann ich keine For Schleife bedienen.

Danke und Gruß Manfred
Manfred007 ist offline   Mit Zitat antworten
Alt 03-09-2004, 18:01   #11 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Sehr merkwürdig, müßte eigentlich schon so funtzen!!
ActionScript:
  1. anzahl = new LoadVars();
  2. anzahl.onLoad = function(geladen) {
  3.     if (geladen) {
  4.         trace("Bingo:");
  5.         var temp = Number(this.zahl);
  6.         for (i=1; i<=temp; i++) {
  7.             trace(i);
  8.         }
  9.     } else {
  10.         trace("Schade");
  11.     }
  12. };
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 03-09-2004, 18:06   #12 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Verden
Beiträge: 43
Der stürtzt mein Script ab.

Ich sehe, dass ich Dir noch den Abend verderbe. Da stürzt leider mein Script ab.
Wie gesagt, durch die Umwandlung Number(this.zahl) ist das Ergebnis bis Flashplayer 6 = 0 ab Flashplayer 7 = NaN.

Trotzdem vielen Dank

Gruß Manfred
Manfred007 ist offline   Mit Zitat antworten
Alt 03-09-2004, 18:12   #13 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Habs grad im Flash 2004 getestet, da stürzt nix ab
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 03-09-2004, 18:17   #14 (permalink)
Neuer User
 
Registriert seit: Apr 2002
Ort: Verden
Beiträge: 43
wie bist Du vorgegangen?

Hallo RustyCake,
wie gehst Du vor. Ich gehe davon aus, dass ich was verkehrt mache. Habe weiter oben mein Action- und PHP-Script gepostet. Ich bekomme es nicht hin.
Ich habe Studio Mx 2004 Professional. Wenn ich mir z.B. trace(this.zahl) ausgeben lasse, bekomme ich 3. Wenn ich aber trace(Number(this.zahl)) oder Deinen Vorschlag trace -> trace(temp) bekomme ich immer NaN mit Player ab 7 mit Player 6 bekomme ich 0.

Vielleicht bin ich wirklich ein bißchen dämlich aber.....

Gruß Manfred
Manfred007 ist offline   Mit Zitat antworten
Alt 03-09-2004, 18:20   #15 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Ich habs schnell mit ner txt getestet, hast Du Dein 2004er schon upgedatet?
Hast Du alles im ersten frame stehen?
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele