Archief - PHP: Hoe uitschrijven ?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

snoob

Legacy Member
Ik ben bezig met een schoolsite te maken als eindwerk en zit met het volgende probleem:
Ik heb een tabel met raden ( raad_ID, naam ) en een tabel met raadsleden ( raadslid_ID, titel, naam, voornaam, raad )
Ik zou nu willen weten hoe ik die kan uitschrijven in de vorm van:

naam raad 1
- raadslid raad 1
- raadslid raad 1
- ...


naam raad 2
- raadslid raad 2
- raadslid raad 2
- ...

...

Hoe moet ik da doen? :p

snoob

Legacy Member
De tabel met raden kan worden aangevuld dus ik zou het met een lus doen maar ik weet niet hoe :p

maT'

Legacy Member
SELECT R1.naam, R2.titel, R2.naam AS raadslidnaam, R2.voornaam
FROM raad AS R1
LEFT JOIN raadslid AS R2 ON R1.raad_id = R2.raad_id
ORDER BY R2.raad_id;

(ik ga er nu vanuit dat er ook een raad kan zijn waar geen leden in zitten)
Dit doorloop je in een while-lus, waarbij je telkens controlleert of het huidige record dezelfde raadID heeft als het vorige. Is het zo, dan zit je huidige raadslid in dezelfde raad is het niet zo, dan zit de raadslid in een andere raad, en moet je de naam van die raad afdrukken.

snoob

Legacy Member
khebbet zo opgelost:
Code:
      <?php
	connect_db();
	$select_query = "SELECT * FROM raden";
	$qry = mysql_query($select_query) or die(mysql_error());
  ?>
  
  <?php
    while ($fetched = mysql_fetch_array($qry))
	{
	?> <b><i><font color="black"><?php echo ($fetched['raadnaam'].'<br>');?></font></i></b><?php
	$raadnaam = $fetched['raadnaam'];
	$select_query = "SELECT * FROM raadsleden WHERE raad='$raadnaam'";
	$qry2 = mysql_query($select_query) or die(mysql_error());
	while ($fetched = mysql_fetch_array($qry2)){
	?><font color="black"><?php echo ($fetched['titel'].' '.$fetched['naam'].' '.$fetched['voornaam'].'<br>');?></font><?php
	}}
  ?>

maT'

Legacy Member
En zo zal je 10 queries gebruiken als je 10 raden hebt, terwijl het ook met 1 query kan.

Waarom moeite doen om te optimaliseren hé ;)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan