Hallo.
Ich habe vor langer Zeit mal PHP gelernt mittels eines Buchs von Kevin Yank. Ich sage einfach mal was ich machen m�chte:
Es soll eine Tabelle existieren die folgendes beinhaltet:
Es soll in einer Tabelle einige Daten gezeigt werden: Es geht um Konsolenbefehle eines Computerspiels. Ich m�chte diese weiter erl�utern. in der Tabelle wird also stehen: der Name der Konsolenbefehls, der Standardparameter den man direkt nach dem Befehl eingeben soll/kann, und dann noch ein gr��eres Textfeld mit der Beschreibung und Empfehlungen. Nat�rlich werden nicht nur ein Befehl, sondern gleich eine ganze Menge Befehle erkl�rt. Es soll also erst eine Tabelle erstellt werden mit dem Inhalt f�r den ersten Eintrag, dann dadrunter eine baugleiche Tabelle mit dem zweiten Eintrag usw usw, bis alle Eintr�ge gezeigt sind. Die Eintr�ge sollen nach dem Alphabet geordnet sein, und zwar soll sich die Reihenfolge nach dem Haupteintrag "Konsolenbefehl" richten.
Meine MySQL-Tabelle sieht im Kopf folgenderma�en aus:
ID, befehlsname, sdwert (f�r "standardwert"), beschreibung.
Ich denke ich mache mir zwei php dateien.
Eine php datei die einfach alle datens�tze anzeigt (also die seite die der normale surfer sehen soll). also soweit ich weiss muss ich einfach eine while-schleife erstellen. ich baue also erstmal in dieser php datei eine verbindung zu datenbank auf, lasse dann alle datens�tze selektieren (und sie dabei irgendwie nach dem alphabet ordnen). dann die while-schleife, indem ich mysql_fetch_array meiner selectanfrage mache, dann �ber $array["befehlsname" etc.] meine neuen variablen raushole und diese dann echo'n lasse (mitsamt der n�tigen Tags f�r die Tabelle und den zwischenr�umen der tabellen)
bei der zweiten datei gestaltet es sich schon etwas schwieriger: sie ist die Administrationsseite. Ich habe vermutlich keine Lust auch noch ein Loginscript per php zu machen, drum werd ich zum schutz einfach htaccess benutzen.
Die adminseite soll eine �bersicht aller konsolenbefehle zeigen. also nicht gleich zu jedem konsolen befehl die ganze tabelle, sondern nur die befehle selbst, alle untereinander (einfach um mehr �bersicht zu haben).
ganz oben (oder ganz unten, wie man will) soll ein Link sein der "neuen eintrag erstellen" heisst. klicke ich ihn an, werden die ganzen befehle ausgeblendet und es erscheint eine Rohtabelle die eigentlich so aussieht wie die vielen Tabellen mit Inhalt die der End-benutzer sieht, nur dass anstatt des Texts eben Eingabefelder da sind mittels denen ich einen neuen Datensatz erstellen kann. klicke ich dann auf "absenden" wird der neue dateneintrag erstellt. man kehrt zur�ck zur haupt-adminseite.
rechts neben jedem befehl soll es zwei links geben: "�ndern" und "l�schen". klickt man auf l�schen, wird der Konsolenbefehl (und auch die dazugeh�rigen werte wie "sdwert" und "beschreibung") gel�scht. klickt man auf "�ndern", so wird die seite die ich vorhin beschrieben haben (die zum Neu-Erstellen eines Datensatzes) ge�ffnet, allerdings sind die Felder bereits ausgef�llt, eben mit den Werten die der Datensatz den ich �ndern will, bereits hat. Ich kann dann in den Feldern �nderungen vornehmen und diese einfach speichern.
soweit das Konzept.
also eigentlich glaube ich, dass ich genug weiss, um das alles selbst zu coden. habe durch das Kevin Yank Buch auch viel Unterst�tzung
. "Schwierig" k�nnte f�r mich die Umstellung auf die SuperGlobal irgendwas-dinger werden, oder auch sonst k�nnte ich irgendwo h�ngen bleiben.
Was mir zun�chst mal auff�llt: bei der adminseite werde ich eine ganze menge Fallunterscheidungen machen m�ssen. also hier w�ren das:
"user will neuen eintrag machen>Tabelle mit leeren Formular zeigen"
"user will einen Eintrag �ndern>>Tabelle mit bereits ausgef�lltem Formular zeigen"
"user hat nichts spezielles gemacht>>einfach eine auflistung der befehle zeigen"
"user hat auf Absenden f�r einen neuen/ge�nderten Eintrag geklickt>>soll auf die Standard-adminseite zur�ckgeschickt werden (wobei es auch hier dann den unterschied gibt dass entweder der update befehl oder insert befehl ausgef�hrt wird)"
"user hat auf den 'löschen'-link neben einem eintrag geklickt >> Eintrag soll gelöscht werden und man gelangt auf die hauptseite"
das sind vorerstmal alle Fälle die mir einfallen. jetzt stellt sich mir die Frage: wie macht man solche unterscheidungen "Konkret" (also codebeispiel?)
und wie löse ich folgendes codetechnisch:
a) ich erstelle für jeden Fall einen eigenen abschnitt in der php datei und schreibe die kompletten aktionen die zu tun sind, also auch droppen/updaten/inserten und danach anzeigen der standardseite bei jedem abschnitt rein - oder...
b) am anfang der php datei lasse ich zunächst überprüfen, ob die seite mit den formularen geöffnet wurde, falls ja steht in der if schleife am ende "exit()" damit die normale auflistung der befehle nicht angezeigt wird. danach folgen die "script soll beitrag gegebenenfalls löschen/updaten/inserten, da auf einen löschen link, bzw auf einen Absenden/Updaten button geklickt wurde" und danach die normale auflistung des codes (zu der es ja nur kommt wenn das php script nicht ge-exit'ed wurde). funktioniert das ? istdas besser so ?
Jo, sorry is ne Menge info auf einmal ^^. Ich möchte einfach Feedback hören ob ich das alels soweit richtig geplant habe, ob ihr tipps habt usw.
MfG
Ich habe vor langer Zeit mal PHP gelernt mittels eines Buchs von Kevin Yank. Ich sage einfach mal was ich machen m�chte:
Es soll eine Tabelle existieren die folgendes beinhaltet:
Es soll in einer Tabelle einige Daten gezeigt werden: Es geht um Konsolenbefehle eines Computerspiels. Ich m�chte diese weiter erl�utern. in der Tabelle wird also stehen: der Name der Konsolenbefehls, der Standardparameter den man direkt nach dem Befehl eingeben soll/kann, und dann noch ein gr��eres Textfeld mit der Beschreibung und Empfehlungen. Nat�rlich werden nicht nur ein Befehl, sondern gleich eine ganze Menge Befehle erkl�rt. Es soll also erst eine Tabelle erstellt werden mit dem Inhalt f�r den ersten Eintrag, dann dadrunter eine baugleiche Tabelle mit dem zweiten Eintrag usw usw, bis alle Eintr�ge gezeigt sind. Die Eintr�ge sollen nach dem Alphabet geordnet sein, und zwar soll sich die Reihenfolge nach dem Haupteintrag "Konsolenbefehl" richten.
Meine MySQL-Tabelle sieht im Kopf folgenderma�en aus:
ID, befehlsname, sdwert (f�r "standardwert"), beschreibung.
Ich denke ich mache mir zwei php dateien.
Eine php datei die einfach alle datens�tze anzeigt (also die seite die der normale surfer sehen soll). also soweit ich weiss muss ich einfach eine while-schleife erstellen. ich baue also erstmal in dieser php datei eine verbindung zu datenbank auf, lasse dann alle datens�tze selektieren (und sie dabei irgendwie nach dem alphabet ordnen). dann die while-schleife, indem ich mysql_fetch_array meiner selectanfrage mache, dann �ber $array["befehlsname" etc.] meine neuen variablen raushole und diese dann echo'n lasse (mitsamt der n�tigen Tags f�r die Tabelle und den zwischenr�umen der tabellen)
bei der zweiten datei gestaltet es sich schon etwas schwieriger: sie ist die Administrationsseite. Ich habe vermutlich keine Lust auch noch ein Loginscript per php zu machen, drum werd ich zum schutz einfach htaccess benutzen.
Die adminseite soll eine �bersicht aller konsolenbefehle zeigen. also nicht gleich zu jedem konsolen befehl die ganze tabelle, sondern nur die befehle selbst, alle untereinander (einfach um mehr �bersicht zu haben).
ganz oben (oder ganz unten, wie man will) soll ein Link sein der "neuen eintrag erstellen" heisst. klicke ich ihn an, werden die ganzen befehle ausgeblendet und es erscheint eine Rohtabelle die eigentlich so aussieht wie die vielen Tabellen mit Inhalt die der End-benutzer sieht, nur dass anstatt des Texts eben Eingabefelder da sind mittels denen ich einen neuen Datensatz erstellen kann. klicke ich dann auf "absenden" wird der neue dateneintrag erstellt. man kehrt zur�ck zur haupt-adminseite.
rechts neben jedem befehl soll es zwei links geben: "�ndern" und "l�schen". klickt man auf l�schen, wird der Konsolenbefehl (und auch die dazugeh�rigen werte wie "sdwert" und "beschreibung") gel�scht. klickt man auf "�ndern", so wird die seite die ich vorhin beschrieben haben (die zum Neu-Erstellen eines Datensatzes) ge�ffnet, allerdings sind die Felder bereits ausgef�llt, eben mit den Werten die der Datensatz den ich �ndern will, bereits hat. Ich kann dann in den Feldern �nderungen vornehmen und diese einfach speichern.
soweit das Konzept.
also eigentlich glaube ich, dass ich genug weiss, um das alles selbst zu coden. habe durch das Kevin Yank Buch auch viel Unterst�tzung

Was mir zun�chst mal auff�llt: bei der adminseite werde ich eine ganze menge Fallunterscheidungen machen m�ssen. also hier w�ren das:
"user will neuen eintrag machen>Tabelle mit leeren Formular zeigen"
"user will einen Eintrag �ndern>>Tabelle mit bereits ausgef�lltem Formular zeigen"
"user hat nichts spezielles gemacht>>einfach eine auflistung der befehle zeigen"
"user hat auf Absenden f�r einen neuen/ge�nderten Eintrag geklickt>>soll auf die Standard-adminseite zur�ckgeschickt werden (wobei es auch hier dann den unterschied gibt dass entweder der update befehl oder insert befehl ausgef�hrt wird)"
"user hat auf den 'löschen'-link neben einem eintrag geklickt >> Eintrag soll gelöscht werden und man gelangt auf die hauptseite"
das sind vorerstmal alle Fälle die mir einfallen. jetzt stellt sich mir die Frage: wie macht man solche unterscheidungen "Konkret" (also codebeispiel?)
und wie löse ich folgendes codetechnisch:
a) ich erstelle für jeden Fall einen eigenen abschnitt in der php datei und schreibe die kompletten aktionen die zu tun sind, also auch droppen/updaten/inserten und danach anzeigen der standardseite bei jedem abschnitt rein - oder...
b) am anfang der php datei lasse ich zunächst überprüfen, ob die seite mit den formularen geöffnet wurde, falls ja steht in der if schleife am ende "exit()" damit die normale auflistung der befehle nicht angezeigt wird. danach folgen die "script soll beitrag gegebenenfalls löschen/updaten/inserten, da auf einen löschen link, bzw auf einen Absenden/Updaten button geklickt wurde" und danach die normale auflistung des codes (zu der es ja nur kommt wenn das php script nicht ge-exit'ed wurde). funktioniert das ? istdas besser so ?
Jo, sorry is ne Menge info auf einmal ^^. Ich möchte einfach Feedback hören ob ich das alels soweit richtig geplant habe, ob ihr tipps habt usw.
MfG
Kommentar