Einfache Datenbankanwendung mit Ajax gesucht

Themenmixer

Aktives Mitglied
Hallo Freunde,

ich habe die (ehrenamtliche) Aufgabe bekommen für einen örtlichen Verein eine Basarverwaltung zu machen.
Da ich schon einiges mit PHP und MySQL gemacht habe, würde ich dies auch auf der Basis realisieren wollen.
Die einzelnen "Module" sollen folgende Aufgaben haben:
1. Login/Logout
2. Artikelverwaltung
3. Helferliste
4. Kuchenspenden

Das war's erstmal.
Dazu habe ich mir folgende Tabellenstruktur überlegt:

User
====
LfdNr (INT) PRIMARY Autoinkrement
Name
Vorname
StrasseNr
Ort
PLZ
Telefon
Emailadresse UNIQUE
Passwort
Verkäufer (INT) UNIQUE (wird vom Admin manuell vergeben)
freigegeben (boolean)

Kuchen (wird vom Admin gepflegt)
======
LfdNr (INT) PRIMARY Autoinkrement
Kuchenart

Helferschichten (wird vom Admin gepflegt)
===========
LfdNr (INT) PRIMARY Autoinkrement
Schichtname + Von/Bis (einfach als Text)
MaxHelfer (INT)

Artikel
=========
UserVerkäufer (INT) PRIMARY
Position (INT) PRIMARY Autoinkrement
Artikelbeschreibung
Preis

Kuchenspender
==============
UserLfdNr PRIMARY
KuchenLfdNR PRIMARY

Helferliste
===========
UserLfdNR PRIMARY
HelferschichtLfdNR PRIMARY


Ich denke mal, dass reicht für das erste und um die Daten in die Datenbank zu bekommen.
Was ich nun brauche ist folgendes:
Die Benutzer sollen sich anmelden dürfen. Freischaltung erfolgt durch Admin. User wird per Email benachrichtigt. Mit Freischaltung darf sich der User als Helder eintragen oder als Kuchenspender.
Die Artikeleingabe soll nur möglich sein, wenn eine Verkäufernummer vergeben wurde, was der Admin macht. (Muss wohl sein. Das ist ne Vorgabe des Vereins.)

Ich möchte das ganze über Ajax-Forms machen. Eine Seite mit 5 Registern: Login, Userdaten, Artikel, Helferliste, Kuchenspende
Ohne Login können die anderen Bereiche nicht aufgerufen werden.

In den Userdaten kann der Benutzer seine Adresse ändern. Hier muss ich es nicht übertreiben. Paßwortändern oder Emailadresse ändern geht nur über Admin. Es sei denn, ich kann automatismen ohne großen Aufwand implementieren.

Artikeleingabe: Es gibt eine Eingabezeile mit der Positionsnummer, Artikelbeschreibung, Preis. Wenn die Zeile bestätigt wird, soll ein Eintrag in die Artikeltabelle erfolgen.
Unter der Eingabezeile sollen alle bereits erfaßten Artikel tabellarisch dargestellt werden.

Bei den Kuchenspenden sollen einfach mehrere Zeilen ausgewählt werden können. Ich stelle mir da einfache Checkboxen vor. Die Anzahl der Checkboxen resultiert aus den hinterlegten "Kuchen"-Stammdaten. Wenn möglich kann der Benutzer auch ein "Sonstiges" ausfüllen. Dies wird dann per Email an den Admin geschickt, der die Stammdaten erweitern kann.

Genauso wird bei den Helfern verfahren. Nur das hier immer geschaut werden muss, ob eine Schicht bereits voll ist. Diese Schicht soll dann zwar sichtbar, aber nicht auswählbar sein.

Tja .... wie mache ich das am Besten. Inpunkto Ajax bin ich ein unbeschriebenes Blatt. Ich werde nicht drumrum kommen, mir das näher anzusehen; ich weiß.
smile.gif

Vielleicht habt ihr ja den einen oder anderen hilfreichen Tipp für mich? Das wäre super.

Vielen Dank schonmal für eure Hilfe und viele Grüße vom Bodensee
Jörg
 
Hi,
mir scheint, du hast noch keine so große Erfahrung mit Ajax, wie du auch selbst schreibst
smile.gif


Ajax ist Javascript - und ersetzt einen Teil der bestehenden Webseite durch die Ausgabe des Scriptes (html, php), welches du mit Ajax wieder auf dem Server aufrufst. Du kannst dabei auch Daten per Post oder Get senden.

Also - du hast zum Beispiel ein Formular - und sendest das mit Ajax an eine PHP-Datei. Die PHP-Datei arbeitet jetzt ganz normal und gibt dann eine Html-Ausgabe zurück (das ist der simple Weg) - die dann vom Ajax-Javascript in einen Div-Container (beispielsweise) geschrieben wird.

Da dabei nur ein Ausschnitt der Seite neu geladen wird, erscheint das ganze recht instant zu sein.

Der zweite Schritt wäre, nur noch codierte Kerndaten per PHP ausgeben zu lassen und die Darstellungsarbeit dem Ajax-Javascript zu überlassen - weil dies den Server entlastet (bei viel Traffic - was in deinem Fall nicht wichtig ist) bzw. noch fixer geht (aber es kommt bestimmt nicht auf ein paar Millisekunden bei dir an).

Soweit der kurze Abriß. Du hast also eine <form> ... die ruft einen Ajax-Loader auf... der übergibt die Daten aus der <form> an ein PHP-Programm. Das PHP-Programm rappelt durch und gibt eine Ausgabe zurück an den Ajax-Loader... der schiebt die Ausgabe in ein Div (zum Beispiel in das gleiche, wo vorher die <form> drin war - und überschreibt die damit)

2 Dinge rate ich dir ...

1. guck dir ein gängiges JS-Framework an - die 3 großen bieten dir alle Schikanen zu Ajax. Ob du jetzt Mootools, JQuery oder Prototype nimmst, ist egal. Diese Frameworks stecken oft nur in einer Datei, die du im Head lädst - und kannst dann recht simpel den Ajax-Loader aufrufen. Dazu wirst du dich natürlich einlesen müssen - aber diese Frameworks sind recht gut dokumentiert und auch gängiger Standard (du findest massig Infos im Netz zu allen dreien)

2. Vergiss nicht, in der PHP-Datei, die Ajax aufruft, das Login zu checken. Am besten hast du eh die Userdaten bei erfolgreichem Login in der Session stehen. Immer schön prüfen - damit dir keiner quer kommt.

Tja - wenn dich Ajax interessiert und du das Grundprinzip verstanden hast, kann ich dir noch JSON empfehlen. Das ist eine Funktion, die ein Array in einer Form ausgibt, die günstig für die Kommunikation zwischen Javascript und PHP ist. Das ist dann von Bedeutung, wenn du zum Beispiel nur die gelesenen Daten an den Client übertragen möchtest. Denn - wie bekommst du die Daten wieder in die Vars vom Javascript? Richtig! Mit JSON!

Viel Erfolg bei deinem Vorhaben.
 
Zurück
Oben