Ik heb een aantal gerechten die zeg maar 'as-is' besteld kunnen worden, en een aantal gerechten A t/m P die in single, dubbel, of triple besteld kunnen worden. Elk gerecht hiervan heeft een eigen prijs. Single spreekt voor zich denk ik, bij dubbel kan men twee gerechten van A t/m H kiezen en bij dubbel speciaal twee van A t/m H plus een extra gerecht van I t/m P onder €1,- toeslag. Zelfde verhaal bij triple; drie gerechten van A t/m H en bij triple speciaal drie gerechten van A t/m H plus een extra gerecht van I t/m P onder €1,- toeslag.

De gerechten staan allemaal een voor een in de database, dus ik heb geen optietabel waaruit gekozen kan worden. Zou iemand mij in de goede richting kunnen helpen hoe ik dit het handigste kan doen?
Alvast bedankt.
Boyd
Ik heb dat onchange gebeuren werkend, krijg alleen een 403 error: You don't have permission to access /hf/< on this server.


<?php
...
while($row = mysql_fetch_assoc($result)) {
			echo"		<td>".$row['omschrijving']."</td>";
			echo"		<td><form method=\"GET\" name=\"type\" action=\"<?php echo $_SERVER[PHP_SELF];?>\">";
			echo"		<select onchange=\"this.form.submit()\">";
			echo"		<option value=\"\">Maak een keuze...</option>";
  			echo"		<option value=\"single\">Single</option>";
  			echo"		<option value=\"dubble\">Dubble</option>";
			echo"		<option value=\"dubblespec\">Dubble Speciaal</option>";
  			echo"		<option value=\"triple\">Triple</option>";
			echo"		<option value=\"triplespec\">Triple Speciaal</option>";
			echo"		</select></form></td>";
...
?>
Staat er in /hf/ wel een index?
Ja, index.php. Ik denk dat het hier fout gaat. of niet:

<?php
...
echo"        <td><form method=\"GET\" name=\"type\" action=\"<?php echo $_SERVER[PHP_SELF];?>\">";
...
?>

Alleen wat gaat er precies fout? Ik gebruik om te testen de localhost; daar draait wamp server op. Misschien ligt het dan in de php.ini?
Verander je datamodel en breid je datamodel uit. Je gaat nu ongetwijfeld betekenis toekennen aan A t/m P en A t/m H en programma-code bouwen in de zin van IF A t/m P enzovoort. Dat is fout, zodra er een nieuw gerecht Q bijkomt moet je al je code aanpassen. Maak hiervoor bij de gerechten een categorie aan. Hierop kan je aftesten of iets wel of niet kan. Een categorie kan zijn: single, dubbel, of triple waarbij 'as-is' ook gewoon categorie single mag hebben. Een categorie bijgerecht is dan ook mogelijk. En categorie 'triple' betekent natuurlijk niet dat iemand er 3 bestelt maar dat er 3 besteld kunnen worden.
Suc6
Duidelijk. Ik zal vanvond als ik thuis ben eens kijken.
B Klaas op 06/12/2010 09:47:44

Ja, index.php. Ik denk dat het hier fout gaat. of niet:

<?php
...
echo"        <td><form method=\"GET\" name=\"type\" action=\"<?php echo $_SERVER[PHP_SELF];?>\">";
...
?>

Alleen wat gaat er precies fout? Ik gebruik om te testen de localhost; daar draait wamp server op. Misschien ligt het dan in de php.ini?


Als je wilt dat hij de formulier op de zelfde pagina uitvoert kan je action er toch gewoon uit halen? :)
Nee, want dan blijft de inhoud van de andere formulieren niet behouden, die worden dan geleegd. Dit is wel van belang voor bijvoorbeeld de aantallen.
Je code klopt voor geen ene meter.

1. Variabelen buiten quotes
2. <?php echo ''; ?> doe je niet in je php code ;-)


<?php
...
echo"        <td><form method=\"GET\" name=\"type\" action=\"". $_SERVER['PHP_SELF']."\">";
...
?>


Oja, ik zou ook nog een enkele quote gebruiken ipv dubbele omdat dat met html wat gemakkelijker is :-)
Internet Verslaafde op 06/12/2010 16:40:51


<?php
...
echo"        <td><form method=\"GET\" name=\"type\" action=\"". $_SERVER['PHP_SELF']."\">";
...
?>


Oja, ik zou ook nog een enkele quote gebruiken ipv dubbele omdat dat met html wat gemakkelijker is :-)


Dus wordt het zo.
<?php
...
echo '<td><form method="GET" name="type" action="' . $_SERVER['PHP_SELF'] . '">';
...
?>

Reageren