Veröffentlicht 8. September 200916 j 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
8. September 200916 j 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.
8. September 200916 j 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]
8. September 200916 j 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
8. September 200916 j 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 200916 j von Mike1990
9. September 200916 j 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]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.