You are not logged in.

wcf.regNote.message

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

1

Saturday, June 6th 2009, 10:13am

Ich brauch mal Hilfe bei Prototype und Ajax

Seit gestern beschäftige ich mich etwas mit Prototype da ich versuchen möchte eine Suche in einer Datenbank darüber zu realisieren und wenn ich das richtig beherrsche ggf. auch weitere Funktionen. Allerdings ist die Dokumentation von Prototype auf deren Webseite für mich so unverständlich, dass es schon beim Einstieg scheitert. Englisch ist grundsätzlich ja nicht das Problem aber die Doku ließt sich wie ein schlechter Slang oder sowas.

Jedenfalls habe ich ein bestehendes Formular mit 5 Feldern welche der Nutzer ausfüllen kann und dann die Suche startet. Die einzelnen Formularfelder werden genutzt und in der DB dann danach gesucht. Es genügt dabei nur ein Feld auszufüllen und da auch nur Teile des Suchbegriffs zu verwenden. Jetzt hätte ich gerne, dass wenn der Nutzer 3 Zeichen in einem Feld hat die Suche schon startet und schon mal alle Ergebnisse liefert welche mit diesen drei Zeichen gefunden werden. Hier mal ein Beispiel wie ich das meine.

In der DB steht folgendes:

Feld 1 | Feld 2 | Feld 3 | Feld 4 | Feld 5
0815 | abc | 1a2b | 987 |
4711 | | aaa | | 3c3c

Wie man sieht können auch Lücken in der DB sein wo zuvor nichts eingegeben wurde. Folgendes wird vom Nutzer nun im Formular eingegeben

Feld 1: 081

Und nun wird nach Eingabe der dritten Stelle sofort ein Request abgesetzt an die DB welche daraufhin gleich den oder die passenden Einträge liefert. Wird nun das vierte Zeichen eingegeben werden die Suchergebnisse weiter gefiltert. Der User kann dann noch in einem weiteren Feld etwas eintippen was ebenfalls dazu führt das weiter gefiltert wird. Eben so lange bis der Nutzer das gefunden hat was er sucht oder bis er in der Liste der Ergebnisse sieht, dass der Eintrag den er sucht nicht vorhanden ist.

Ich weiß das sowas grundsätzlich möglich ist und man hat mir auch gesagt, dass Prototype eine gute Lösung ist um einfacher mit Ajax zu arbeiten. Allerdings weiß ich nicht wie ich überhaupt anfangen soll. Kann ich mein Formular nutzen, inkludiere lediglich die Prototype JS Datei und ergänze einzelne Befehle oder wie läuft das? Die Doku hat mich so verwirrt das ich fast schon davon ausgehe ich muss erst mal alle Funktionen die ggf. nötig sind anfertigen. Oder schicke ich lediglich einen Request und lasse den Response in einem Container ausgeben?

Vielleicht ist noch wichtig, dass es eine PHP Funktion gibt, welche anhand der Suchbegriffe in der DB sucht und als return die gefundenen Ergebnisse liefert. Kann ich diese ggf. einfach aufrufen und lasse den return ausgeben?

Man merkt glaube ich das ich mich noch nicht viel mit Ajax beschäftigt hab. Von daher würde mir ggf. ein Beispiel helfen falls jemand sowas hat.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

Prometheus

Administrator

  • "Prometheus" started this thread

Posts: 3,278

  • Send private message

2

Wednesday, June 17th 2009, 1:34pm

So, inzwischen habe ich mich noch etwas ausführlicher mit dem Thema auseinander gesetzt. Ich konnte mit Prototype nun schon ein paar Dinge realisieren. Unter anderem habe ich ein Formular mit welchem täglich Daten erfasst werden. Daneben ist eine Ausgabe wo monatlich die Daten angezeigt werden. Mittels Ajax und Prototype habe ich nun realisiert, dass man in den Monaten hin und her blättern kann ohne die Seite neu zu laden und folglich ohne die bereits ausgefüllten Felder des Formulars zu verlieren.

Mein Fehler war, dass ich dachte ich müsste mit JS direkt auf die DB zugreifen und riesige Funktionen bauen um irgendwelche Informationen zu bekommen. Das ganze geht allerdings bei weitem einfacher. Man muss nichts anderes tun wie die bestehende Datenbankabfrage in PHP so umbauen, dass am Ende ein Echo das was man sehen möchte ausgibt. Nun erstellt man eine kleine JS Funktion welche mittels Ajax dann diese PHP Datei ansteuert und das Ergebnis einfach abfängt und mittels ID in z.B. ein Div packt. Ajax hat aus meiner Sicht auch nur indirekt mit JS zu tun und ist auf gar keinen Fall als das gleiche anzusehen.

Noch mal Danke an Shao für die Hilfe und die Praxisbeispiele!
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.