Crowz Geschrieben 8. September 2009 Teilen Geschrieben 8. September 2009 Guten morgen die Herrschaften, ich bin dabei ein Pizzabestellscript zu entwickeln Naja nun möchte ich umsetzten das sich der Preis nach der Größe ändert. Ich habe eine Auswahl von 3 Größen gebastelt mit ganz simpel: <table> <tr> <th> Pizza Größe? </th> <td> <select name="Größe" size="1" > <option>klein</option> <option>mittel</option> <option>groß</option> </select> </td> </tr> </table> [/PHP] Im nächsten <tr> soll der Preis bestimmt werden allerdings soll dieser automatisch generiert werden. Das heißt wenn ich auf der Website den Menupunkt klein auswähle soll dann z.B. der Preis von 3 Euro stehen. Dies habe ich mit switch und mit if Abfragen versucht. Allerdings bin ich daran gescheitert. Wie beziehe ich mich denn auf die Zeile der <option> klein </option> z.B.? Könnt ihr mir bitte helfen das umzusetzten? Gruß Crowz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 8. September 2009 Teilen Geschrieben 8. September 2009 es hilft stark zu wissen welche Sprache du genutzt hast und in dem Fall wäre der (PHP?) Code den du versucht hast wichtig. Kristallkugeln funktionieren hier nicht, also musst du schon mehr infos liefern. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crowz Geschrieben 8. September 2009 Autor Teilen Geschrieben 8. September 2009 sry... Der code ist natürlich PHP und ich versuche es im moment folgendermaßen <html> <?phP $test = "<option> klein </option>"; $test2 = "<option> mittel </option>"; $test3 = "<option> groß </option>"; $test1 = $test.$test2.$test3; ?> <table> <tr> <th>Pizza Größe?</th> <td> <select name="Größe" size="1" > <?php echo $test; echo $test2; echo $test3; ?> </select> <input type="submit" value="Pizzagröße bestätigen bitte!"> </td> </tr> <tr> <th> Preis</th> <td> <?php switch ($test1) { case $test: echo "Ihre Pizza wird vorraussichtlich 3 Euro kosten!"; break; case $test2: echo "Ihre Pizza wird vorraussichtlich 4 Euro kosten!"; break; case $test3: echo "Ihre Pizza wird vorraussichtlich 5 Euro kosten!"; break; } ?> </td> </tr> </table> </html> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 8. September 2009 Teilen Geschrieben 8. September 2009 Ich glaube, Du vermischst hier etwas. Du versuchst, in einem Skript herauszufinden, was der Benutzer gewählt hat, bevor er es auswählen kann. Das korrekte Vorgehen ist folgendes: Eingabeformular mit den drei Möglichkeiten und einer Action auf Dein PHP-Auswertungsskript definieren und anzeigen. Die Options haben alle den selben Namen und einen unterschiedlichen Wert. Im Auswertungsskript prüfst Du jetzt anhand der GET bzw. POST Parameter, welche Auswahl der Benutzer getätigt hat und gibst ihm entsprechendes Feedback. Schau am besten noch mal bei SELFHTML 8.1.2 (HTML-Dateien selbst erstellen) und einem PHP-Grundlagentutorial Deiner Wahl vorbei. Peter Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mike1990 Geschrieben 8. September 2009 Teilen Geschrieben 8. September 2009 (bearbeitet) Probier es mal so <html> <?phP // Vorne die angezeigte Größe und hinten der Preis für die Größe // Z.b. Größe "klein" Preis für diese Größe 3€ // Z.b. Größe "mittel" Preis für diese Größe 4€ // Z.b. Größe "groß" Preis für diese Größe 5€ $groessen = array("klein"=>3,"mittel"=>4,"groß"=>5); ?> <form method="post"> <input type="hidden" name="action" value="performed"> <table> <tr> <th>Pizza Größe?</th> <td> <select name="Größe" size="1" > <?php foreach ($groessen as $groesse => $preis){ echo '<option value="'.$preis.'">'.$groesse.'</option>'; } ?> </select> <input type="submit" value="Pizzagröße bestätigen bitte!"> </td> </tr> <? if ($_POST["action"]=="performed"){ ?> <tr> <th> Preis</th> <td> <?php switch ($_POST["Größe"]) { case "3": echo "Ihre Pizza wird vorraussichtlich 3 Euro kosten!"; break; case "4": echo "Ihre Pizza wird vorraussichtlich 4 Euro kosten!"; break; case "5": echo "Ihre Pizza wird vorraussichtlich 5 Euro kosten!"; break; } // könnte man auch noch ändern in /* echo "Ihre Pizza wird vorraussichtlich ".$_POST["Größe"]." Euro kosten!"; */ ?> </td> </tr> <? } ?> </table> </html>[/PHP] Bearbeitet 8. September 2009 von Mike1990 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crowz Geschrieben 8. September 2009 Autor Teilen Geschrieben 8. September 2009 Super danke!!! :uli Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Mike1990 Geschrieben 9. September 2009 Teilen Geschrieben 9. September 2009 Hier eine Javascript Variante vom "Pizzascript" <html> <?phP // Vorne die angezeigte Größe und hinten der Preis für die Größe // Z.b. Größe "klein" Preis für diese Größe 3€ // Z.b. Größe "mittel" Preis für diese Größe 4€ // Z.b. Größe "groß" Preis für diese Größe 5€ $groessen = array("klein"=>3,"mittel"=>4,"groß"=>5); ?> <script type="text/javascript"> <!-- function setPrize(prize){ if (prize!=""){ document.getElementById("price").style.display = "block"; document.getElementById("priceField").style.display = "block"; document.getElementById("priceField").innerHTML = "Ihre Pizza wird vorraussichtlich " + prize + " Euro kosten!"; }else{ document.getElementById("price").style.display = "none"; document.getElementById("priceField").style.display = "none"; } } --> </script> <form method="post"> <input type="hidden" name="action" value="performed"> <table> <tbody> <tr> <td> Pizza Größe? </td> <td> <select name="Größe" size="1" onchange="javascript:setPrize(this.value);"> <option value="">Bitte wählen</option> <?php foreach ($groessen as $groesse => $preis){ echo '<option value="'.$preis.'">'.$groesse.'</option>'; } ?> </select> </td> </tr> <tr> <td> <span id="price" style="display:none;"> Preis </span> </td> <td> <span id="priceField" style="display:none;"> </span> </td> </tr> </tbody> </table> </html>[/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Twenty Geschrieben 11. September 2009 Teilen Geschrieben 11. September 2009 jedenfalls schreibt man voraussichtlich mit einem r *Klug******* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.