| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: May 2011
Beiträge: 10
|
Hallo, ich beschäftige mich erst seit zwei Wochen mit Flex. Ich möchte gerne eine Webanwendung erstellen, mit der ich Daten aus einer mySQL-Datenbank lesen und auch schreiben kann. Nach längeren suchen bin ich auf das folgende Videotutorial gestoßen: Create an Admin MySQL Backend in less than 5 minutes with Flex 4 , PHP and Zend AMF | Rima's Tech Blog . Das Video beschreibt wie man mit Hilfe von XAMPP, Zend Framework und den in Flex 4.5 eingebauten Wizards eine solche einfache Webanwendung erstellt. In diesem Video wird zu 100% das aufgebaut was ich benötige. Ich habe auch soweit alles durchgeführt wie es beschrieben wird. Leider funktioniert die Webanwendung nicht wie im Video. Folgender Aufbau: - ApacheFriends XAMPP (Basispaket) version 1.7.4 installiert in C:\xampp - Zend Framework 1.11.6 Release (r24018) enpackt nach C:\xampp\htdocs\ZendFramework - Adobe® Flash® Builder™ 4.5 (Testlizenz) Per phpMyAdmin habe ich eine einfache Datenbank (name: flexSQL) die eine Tabelle besitzt (name: testtabelle) und in dieser sind die die drei Einträge "ID", "Vorname" und "Nachname" befinden. Der Eintrag "ID" zählt automatisch hoch und ist der Primärschlüssel. Das durchlaufen der Wizards in Flex läuft wie im Video gezeigt sauber durch. Im Serviceordner des Projektes befindet sich jetzt eine testtabelleService.php und unter Daten/Dienste sind die wichtigsten funktionen erstellt worden. Ich kann auch wie vorgegeben ein Datagrid erstellen und auch das Create Formular generieren mit dem neue Einträge in die Datenbank gemacht werden können. Beim Ausführen der Anwendung wird das DataGrid aktualisiert und auch die richtigen Daten aus der Datenbank eingelesen (Hatte testhalber zwei Einträge gemacht). Jetzt zum Problem! Und zwar funktioniert das generieren von neuen Einträgen nicht. Ich kann den Creatbutton drücken so oft ich möchte, da passiert nichts! Ich habe auch ein Delete- und ein Updateformular erstellen lassen. Bei diesen beiden wird zwar das DataGrid akualisiert aber änderungen in der mySQL-Datenbank kommen nicht an. Wenn ich die Methoden unter Flex teste funktioniert alles reibungslos. Ich kann Einträge erzeugen löschen und modifizieren und alles überträgt sich auf die Datenbank. Wo ist da jetzt das Problem? Ist der Code den Flex automatisch erzeugt fehlerhaft oder habe ich eine wichtige Kleinigkeit vergessen? Hier einmal der generiert PHP-Code PHP-Code: Hier der Flex-Code nur mit DataGrid und Create-Formular Code: <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:testtabelleservice="services.testtabelleservice.*"
xmlns:valueObjects="valueObjects.*"
minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
protected function dataGrid_creationCompleteHandler(event:FlexEvent):void
{
getAllTesttabelleResult.token = testtabelleService.getAllTesttabelle();
}
protected function button_clickHandler(event:MouseEvent):void
{
var testtabelle2:Testtabelle = new Testtabelle();
testtabelle2.ID = parseInt(iDTextInput.text);
testtabelle2.Vorname = vornameTextInput.text;
testtabelle2.Nachname = nachnameTextInput.text;
createTesttabelleResult.token = testtabelleService.createTesttabelle(testtabelle2);
}
]]>
</fx:Script>
<fx:Declarations>
<s:CallResponder id="getAllTesttabelleResult"/>
<testtabelleservice:TesttabelleService id="testtabelleService"
fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
showBusyCursor="true"/>
<valueObjects:Testtabelle id="testtabelle"/>
<s:CallResponder id="createTesttabelleResult"/>
<!-- Platzieren Sie nichtvisuelle Elemente (z. B. Dienste, Wertobjekte) hier -->
</fx:Declarations>
<s:DataGrid id="dataGrid" x="19" y="10"
creationComplete="dataGrid_creationCompleteHandler(event)" requestedRowCount="4">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="ID" headerText="ID"></s:GridColumn>
<s:GridColumn dataField="Vorname" headerText="Vorname"></s:GridColumn>
<s:GridColumn dataField="Nachname" headerText="Nachname"></s:GridColumn>
</s:ArrayList>
</s:columns>
<s:typicalItem>
<fx:Object ID="ID1" Nachname="Nachname1" Vorname="Vorname1"></fx:Object>
</s:typicalItem>
<s:AsyncListView list="{getAllTesttabelleResult.lastResult}"/>
</s:DataGrid>
<s:Form x="10" y="147" defaultButton="{button}">
<s:FormItem label="ID">
<s:TextInput id="iDTextInput" text="{testtabelle.ID}"/>
</s:FormItem>
<s:FormItem label="Vorname">
<s:TextInput id="vornameTextInput" text="{testtabelle.Vorname}"/>
</s:FormItem>
<s:FormItem label="Nachname">
<s:TextInput id="nachnameTextInput" text="{testtabelle.Nachname}"/>
</s:FormItem>
<s:Button id="button" label="CreateTesttabelle" click="button_clickHandler(event)"/>
</s:Form>
<s:Form x="11" y="347">
<s:FormItem label="CreateTesttabelle">
<s:TextInput id="createTesttabelleTextInput"
text="{createTesttabelleResult.lastResult as int}"/>
</s:FormItem>
</s:Form>
</s:Application> |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.147
|
Funktioniert denn das Erzeugen, wenn du eine Generierung händisch anstößt?
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: May 2011
Beiträge: 10
|
Eine wichtige Information wird aus dem ersten Post wohl nicht ganz klar. Ich beschäftige mich generell erst zwei Wochen mit jeder Softwarekomponente die ich aufgezählt habe ![]() Das ist jetzt wohl auch der Grund, warum ich nicht genau verstehe was du mit "eine Generierung händisch anstößt" meinst. Meinst du in Flex oder PHP oder mit phpMyAdmin? Wenn ich in Flex unter "Daten/Dienste" rechtsklick auf eine (von Flex automatisch generierten) Funktionen mache und dort "Methode testen..." wähle, kann ich so alles in meiner Datenbank ändern. Dort funktioniert alles. Ich weiß nicht, ob das deine Frage beantworten konnte. |
| | |
| | #5 (permalink) |
| Schwarzbunt Registriert seit: Apr 2003 Ort: Punxsutawney
Beiträge: 256
| neue Erkenntnisse?
Liebe Flasher und Flexer, der Thread ist zwar schon etwas älter, aber ich habe gerade exakt das gleiche Problem und bin via google hier gelandet (und immer wieder beeindruckt, für wieviele Themen außerhalb von Flash dies hier die erste Adresse ist ).Auch ich habe ein Video-Tutorial "nachgebaut" und dabei die wizards vom Flash-Builder (4.5.1) verwendet. Alle lesenden Zugriffe funktionieren damit, nur sobald etwas in die Datenbank geschrieben werden soll, passiert gar nichts. Das sollte doch eigentlich auch mit der "normalen" Version funktionieren, und nicht nur mit der "Flash Builder 4.5 for PHP", oder? Ich poste gern noch meinen (automatisch generierten) code, allerdings unterscheidet der sich nicht großartig von dem des Threaderstellers. Ach ja: Wenn ich die Funktion im php-script "createXXX($item)" von anderswo aufrufe (z.B. ein anderes php-skript), wird ein Eintrag in die DB geschrieben - am php-Teil scheint es also nicht zu liegen. Wäre toll, wenn hier jemand Rat weiß - das würde mir bei meinem aktuellen Projekt sehr helfen. Gruß und danke im voraus, falk07
__________________ Wer das hier gelesen hat, braucht sich vor nichts mehr zu fürchten. Geändert von falk07 (26-01-2012 um 19:12 Uhr) |
| | |
| | #6 (permalink) |
| Inventar Registriert seit: Jul 2002
Beiträge: 6.882
|
Das Problem von Tutorials im Allgemeinen ist immer dass sie ab einem gewissen Zeitpunkt nicht mehr aktuell sind. Wird irgendwo etwas geändert funktioniert das Teil nicht mehr und du musst den Fehler suchen - ohne grundlegendes Verständnis was die Software macht natürlich ein schwieriges Unterfangen. Debugging: - Mit dem Firebug ( Addon für Firefox ) kannst du schön sehen welche Daten dein Flashscript / Flex / Javascript an deinen Server ( deine PHP ) sendet und ob und was dein Server zurück sendet. Hier als erstes prüfen ob die Informationen Sinn machen.
__________________ (\__/) (='.'=) (")_(") |
| | |
| | #7 (permalink) |
| Schwarzbunt Registriert seit: Apr 2003 Ort: Punxsutawney
Beiträge: 256
|
Ja, das Tutorial ist sicher schon alt, aber die Wizard-Funktionen zur Datenanbindung stehen in meiner IDE ja weiterhin zur Verfügung (auch in der aktuellen Version 4.6, wie ich jetzt festgestellt habe - das Ergebnis bleibt aber das gleiche). Der Einsatz von Firebug (danke für den Tipp!) zeigt mir, dass gar keine Kommunikation mit dem PHP-Script stattfindet, im Gegensatz zu lesenden Zugriffen - da wird auf eine Datei namens "gateway.php" zugegriffen. Etwas konkreter: Code: protected function button_clickHandler(event:MouseEvent):void
{
var style2:Style = new Style();
style2.style_id = parseInt(style_idTextInput.text);
style2.attribute_set_id = parseInt(attribute_set_idTextInput.text);
style2.status_id = parseInt(status_idTextInput.text);
style2.manage_stock = manage_stockTextInput.text;
style2.price = parseFloat(priceTextInput.text);
style2.style_name = style_nameTextInput.text;
style2.weight = parseFloat(weightTextInput.text);
style2.tax_class_id = parseInt(tax_class_idTextInput.text);
createStyleResult.token = styleService.createStyle(style2);
}
protected function button2_clickHandler(event:MouseEvent):void
{
getStyleByIDResult.token = styleService.getStyleByID(parseInt(itemIDTextInput.text));
} Aber du hast schon recht: Das Zusammenspiel zwischen Applikation, Services, Frameworks, etc. ist mir beim Flashbuilder eher unklar... ich hatte eher gehofft, dass jemand das (scheinbar öfter auftretende) Problem bereits mit einem "Du musst nur bei XYZ ein Häkchen setzen" gelöst hat ![]() Gruß, falk07
__________________ Wer das hier gelesen hat, braucht sich vor nichts mehr zu fürchten. |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| mysql php zend framework |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Flex-Appl. mit SOAP-Anbindung läuft nicht auf Tomcat | reckert | Flex allgemein | 3 | 23-06-2009 15:36 |
| Flex Backend Systeme | rgbg5 | Flex allgemein | 1 | 08-03-2007 10:07 |
| MYSQL anbindung | MyWayMyLife | Flex allgemein | 10 | 01-12-2006 15:23 |
| MySQL-Anbindung in Flash | Striker | Flash MX 2004 | 1 | 19-08-2005 10:55 |
| php turnierscript mit MySQL anbindung | Acrylic0815 | PHP und MySQL | 1 | 19-01-2005 09:34 |