hallo iedereen ik heb een vraagje.. ik heb een form gemaakt waar je 4 dingen kan invullen ( naam , informatie , prijs en soort gerecht ) nu heb dus 1 table met 4 rows... hoe kan ik zorgen dat hij de alle naam informatie en prijs laat zien in een volg orde van eerst voorgerecht hoofdgerecht en dan nagerecht? of hoe moet ik dat doen?

alvast hartelijk bedankt voor jullie tijd
Je maakt een tweede tabel: soort_gerecht.
Daarin zet je

soort
volgorde

Volgorde zet je op int. Voorgerecht zet je bv. op 1, nagerecht op 5, ...

De select wordt dan


"SELECT naam , informatie , prijs, gerecht.soort AS soort 
FROM gerecht
INNER JOIN soort_gerecht ON soort_gerecht.soort = gerecht.soort 
ORDER BY volgorde;
"
- zorg voor een genormaliseerde database
- daarna kan php dmv querys op iedere gewenste wijze deze info uit je database halen

dus ik maak een nieuw tabel aan met 2 rows.. soort en volgorde? soort kan gwn varchar blijven neem ik aan en volgorde op int.. maakt het uit hoeveel waarde hij kan krijgen ?
soort mag varchar zijn. Maak daar de primary key van. (Numerieke id met auto icrement lijkt me vrij overbodig.).

Voor de rest zal het niet zoveel uitmaken. Volgorde gewoon int.
maar dan kan ik soort gerecht van me eerste tabel to verwijderen ?
en hoe zet ik voorgerecht op 1 en nagerecht op 5 ?

als je msn hebt of iets mag ik je dan toevoegen :$ gaat misschien makkelijker

zo niet alsnog bedankt dat je me helpt
dit is trouwens hoe ik de informatie naar het eerste tabel (kaart) had opgeslagen alleen nu weer ik niet hoe ik die selectie value naar de andere table moet verzende ??



<div id="invoegen">
<form action="" method="post">
<label class="box"></label><input type="hidden" name="id" />
<br/>
<label class="box">Naam</label><input type="text" name="naam" />
<br/>
<label class="box">informatie</label><textarea type="text" id="informatie" value="" name="info" class="box" onkeypress="enterKey(event)"/></textarea>
<br/>
<label class="box">prijs in euro's</label><input type="text" name="prijs" />
<br/>
<br/>
<label class="box">Soort Gerecht</label>
<br/>
<select name="soort">
<option value="voorgerecht">Voorgerecht</option>
<option value="hoofdgerecht">Hoofdgerecht</option>
<option value="nagerecht">Nagerecht</option>
</select>
<br/>
<br/>
<input name="Submit" type="button" value="Verstuur Gegevens" onclick="this.form.submit();"></td></tr>
</form>
</div>

</body> 
</html> 
<?php
}
else
{
	$naam 			= $_POST['naam'];
	$info	 		= $_POST['info'];
	$prijs	 		= $_POST['prijs'];
	$soort	 		= $_POST['soort'];
	$id 			= $_POST['id'];
	// stap 4: query definieren in variabele
	$query = "INSERT INTO helloagain.kaart (
	id, naam, info, soort, prijs)
	VALUES (NULL, '$naam', '$info', '$soort', '$prijs')"; 


	// stap 5: query uitvoeren
	$result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 
	echo "<h2> Database gegevens invoeren</h2>";
	echo "<div id=\"bg\"></div>";
	echo "<class id=\"invoegen\">";
	echo "Het volgende is opgeslagen:<br/>
	Naam : $naam<br/>
	Product : $info<br/>
	Soort Gerecht: $soort<br/>
	Prijs : $prijs<br/>";
	echo "<a href=\"admin.php\">terug naar overzicht</a>";
	echo "</div>";
}
	// stap 8: connectie sluitenclose connection 
	mysql_close($connection); 

?>


ps dit is trouwens voordat ik die 2e table heb aangemaakt maar weet niet hoe ik dit dan moet aanpassen dat hij soort gerecht naar 2e tabel soort_gerecht opslaat ;)
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik [ignore]
 en 
[/ignore] tags om je code heen. Om php code zet je uiteraard dit:<?php en ?>Gebruik je knop om dit te doen.

Gelieve Niet Bumpen:
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.
Als je geen 2e tabel wilt aanmaken dan moet je alsnog een extra column aanmaken in die tabel. In die column zet je gewoon "1" bij voorgerecht, "10" bij nagerecht enz. Je kan zelf nog van alles toevoegen.

Dan doe je in je MySQL een SORT BY... En dan doe je "SORT BY soort_gerecht ASC" (ASC betekend van 1 naar 2 enz... of DESC als je van 10 naar 9 enz. wilt.

Duidelijk? Het is zo simpel maar zo lastig uit te leggen.

Dus in het kort:
- Maak nieuwe colum "soort_gerecht"
- Zet daarin 1 als voor en dan 2 als midden enz.
- Doe SORT BY (zie boven)

"SELECT naam, informatie, prijs, gerecht ORDER BY soort_gerecht ASC;"

Reageren