ich erkläre mal anhand eines Beispiels was ich (vermutlich am besten mit php) machen möchte:
Auf einer Homepage soll der Besucher über mehrere Abfrageschritte ein Produkt auswählen können. Z.B. Obst ⇒ rot ⇒ klein = (Ausgabe:smile: Kirsche
oder Gemüse ⇒ weiß ⇒ groß = Blumenkohl
Ich bin absoluter PHP-Neuling, habe leider auch nicht die Zeit mich fundiert einzuarbeiten, möchte aber trotzdem schnell zu einer Lösung kommen (wie wohl bei 90% aller Anfragen der Fall *g* ). Ich hoffe, mir reissen deshalb nicht 90% alles www-Experten den Kopf ab, sondern haben vielleicht den einen oder anderen Hinweis oder ein Beispielskript parat
Ich habe natürlich schon gesucht und einen Ansatz mit mehrdimensionalen, assoziativen Arrays versucht nach dem Schema:
Guten Tag, Sie waren schon sehr nah an der richtigen Lösung dran, allerdings haben sich ein paar kleine Fehler eingeschlichen, hier mal ein Funktionierender Quelltext mit ein paar Kommentaren, am besten kopieren sie diesen in ihren Editor und lesen dort meine Kommentare
<?php $ergebnis = array ( 'obst' => array ( 'rot' =\> array ( 'klein' =\> 'kirsche', 'groß' =\> 'apfel'))); //Hier fehlten 2 Klammer zu am ende, jede Klammer die aufgemacht wird, muss auch wieder geschlossen werden
?\>
Obst
Gemüse
<?php if(isset($_POST['senden'])){ // ..hier überprüfen zu können ob er gedrückt wurde, nur wenn er gedrückt wurde, wird dann der code zwischen { und } ausgeführt echo $ergebnis[$\_POST['Auswahlfeld']]['rot']['groß']; // In dieser Zeile fehlte das $\_POST['NAME DES FELDES'] mit diesem Befehl kann man sich den Wert eines abgeschickten Feldes ausgeben lassen. Bei Ihrer Lösung, wurde versucht in dem array $ergebnis ein Wert 'Auswahlfeld' zu finden, welches nicht existiert. Bei meinem Code wird der Wert aus dem Feld 'Auswahlfeld' genommen und nach diesem gesucht.
}
?\>
Ich hoffe ich konnte helfen. Falls sie allerdings sehr viele Produkte haben oder diese sich oft ändern, empfehle ich ihnen sich mit Mysql Datenbanken vertraut zu machen. Diese sind ein Ersatz für den array und können bequem, ohne erneutes Hochladen der Datei, online bearbeitet werden.
Gruß
du willst, dass jemand in seinem Browser (also der Client) eine Auswahl zwischen verschiedenen Dingen treffen kann. Habe ich dich da richtig verstanden?
Wenn dem so ist, dann brauchst du dafür kein PHP, denn PHP läuft nur auf dem Server, nicht auf dem Client. Daher empfehle ich dir als Literatur zu Auswahllisten, repektive Formularen, die gute Dokumentation von Selfhtml: http://de.selfhtml.org/html/formulare/index.htm
HAllo Kerstin,
das kommt einfach nur darauf an, wie du die Felder „verwurstest“ und wie du die Formularfelder bekommst.
Ich nehme an, du fragst in 3 Schritten ab:
obst/gemüse
-> alle Eigenschaften der nächsten Stufe für z.B. Obst =farben
2)ausgabe der nächstn Stufe zur Abfrage: Größe
und bei den Abfragen gehst du jede Ebene des Arrays in einer Schleife durch und fragst nach dem Ergebnis.
Nicht vergessen: alle bereits beantworteten Fragen als hidden fields ins Formular packen - sonst fehlt dir info.
ich habe, ehrlich gesagt, das problem noch nicht erfasst. soll nach klick auf die radio button sich weitere kategorien öffnen in denen die user dann eine verfeinerte auswahl machen können? dann würde ich es wie eine baumstruktur anlegen. oder suchst du eine möglichkeit das array zu strukturieren?
und vielen Dank für die prompte Antwort!
So funktioniert es.
Danke auch für den Hinweis auf die Datenbank, das wäre natürlich eine übersichtlichere und pflegeleichtere Lösung, zumal tatsächlich öfters was angepasst werden muß…
Kurze Erklärung: wir stellen Jackenerweiterungen für Schwangere und junge Eltern her, die ihre Babys in einer Tragehilfe tragen und dabei ihre Jacken nicht mehr schließen können.
Für verschiedene Reißverschlusstypen haben wir verschiedene Adapter. Auf dieser Seite ganz unten ist eine tabellarische Übersicht: http://www.kumja.de/index_de.php?section=details
D.h. wir haben 4 Parameter (den RV-Typ, die RV-Größe, rechts-/linksseitig schließend, einfach/doppelt).
Wahrscheinlich müßte man wohl prinzipiell genau diese Tabelle in der Datenbank abbilden? Also die Kriterien recht/links und einfach/doppelt jeweils untereinander kombinieren?
Ich werde mich dann mal mit MySQL beschäftigen
Vielen Dank nochmal,
Kerstin
Ich hoffe ich konnte helfen. Falls sie allerdings sehr viele
Produkte haben oder diese sich oft ändern, empfehle ich ihnen
sich mit Mysql Datenbanken vertraut zu machen. Diese sind ein
Ersatz für den array und können bequem, ohne erneutes
Hochladen der Datei, online bearbeitet werden.
Kurze Erklärung: wir stellen Jackenerweiterungen für Schwangere und junge Eltern her, die ihre Babys in einer Tragehilfe tragen und dabei ihre Jacken nicht mehr schließen können.
Für verschiedene Reißverschlusstypen haben wir verschiedene Adapter. Auf dieser Seite ganz unten ist eine tabellarische Übersicht: http://www.kumja.de/index_de.php?section=details
D.h. wir haben 4 Parameter (den RV-Typ, die RV-Größe, rechts-/linksseitig schließend, einfach/doppelt).
Es geht darum, den Kunden schrittweise durch die Bestimmung des Adapters für seine Jacke zu führen.
Mittlerweile denke ich eher, die Informationen in einer Datenbank zu hinterlegen statt ein recht kompliziertes und unübersichtliches Array aufzubauen (obwohl letzteres funktioniert). Dazu muß ich mich erstmal in MySQL einlesen…
Oder hättest Du vielleicht eine andere Idee?
Grüße,
Kerstin
hallo kerstin,
ich habe, ehrlich gesagt, das problem noch nicht erfasst.
Warum machst du es so kompliziert? In deiner Tabelle gibt es 5 Zeilen und vier Spalten damit sind die Auswahlmöglichkeiten sehr begrenzt. Mache in jede Zelle der Tabelle einen Button „dieses Produkt wählen“ oder mach das Bild zum Link mit angehängter ID und spare dir den Umweg mit ARRAY oder MYSQL. Der Button/Link überträgt dann die eindeutige Produkt ID in das Bestellformular. Ich finde eine Datenbank macht nur Sinn, wenn man ein umfangreiches und/oder sehr flexibles Sortiment hat. Ansonsten ist der Aufwand zu hoch.
Ich hoffe ich habe das jetzt Richtig erfasst. Alternativ ginge auch ein Menü welches sich expandiert und die Unterkategorien anzeigt wenn man die jeweilige Oberkategorie anklickt. Dieses ist relativ leicht zu erstellen und auch gut zu pflegen.
mit freundlichem Gruß
Warum machst du es so kompliziert? In deiner Tabelle gibt es
5 Zeilen und vier Spalten damit sind die Auswahlmöglichkeiten
sehr begrenzt …
Das stimmt natürlich. Die Merkmale sollen dennoch irgendwie schrittweise und mit Bildern und etwas Text erklärt durchgegangen werden. Die Kunden vergessern gerne mal die Hälfte, verwechseln rechts und links, und können auch teilweise nicht mit Tabellen umgehen, lesen also falsch ab. Und genau dieses Ablesen soll deshalb automatisch erfolgen.
Alternativ
ginge auch ein Menü welches sich expandiert und die
Unterkategorien anzeigt wenn man die jeweilige Oberkategorie
anklickt. Dieses ist relativ leicht zu erstellen und auch gut
zu pflegen.
ich habe dir da mal was zusammen kopiert. ist noch nicht der Weisheit letzte Schluss, aber gibt dir eine Idee, wie einfach man so was gestalten kann. ich würde da nicht lange mit PHP, MYSQL und JAVASCRIPT rummachen sondern es mit normalem HTML lösen.
jeder Link unten könnte dem Kunden eine spezielle Beschreibungsseite öffnen und wenn er gefunden hat was er sucht dann muss er nur noch bestellen.
jetzt packe ich es nicht den quellcode so reinzu pasten das du dir das rauskopieren kannst. wenn du ihn haben möchtest meine mailadresse findest du wenn du auf home klickst.