Beste forum leden,

ik heb op het moment het volgende script:

<?php
$query = mysql_query("SELECT COUNT(id) as aantal FROM categorie WHERE afbeelding=''");
$row = mysql_fetch_assoc($query);
if($row['aantal']){
	echo '- <a>Er zijn '.$row['aantal'].' categorieën zonder afbeelding.</a>';
	$query = mysql_query("SELECT * FROM categorie WHERE afbeelding=''");
	echo '<div>';
	while($row = mysql_fetch_assoc($query)){
		if($row['sub']){
			$query2 = mysql_query("SELECT * FROM categorie WHERE id='".secure_in($row['sub'])."'");
			$row2 = mysql_fetch_assoc($query2);
			if($row2['sub']){
				$query3 = mysql_query("SELECT * FROM categorie WHERE id='".secure_in($row2['sub'])."'");
				$row3 = mysql_fetch_assoc($query3);
				echo $row3['naam'].' => '.$row2['naam'].' => '.$row['naam'].'<br />';
			} else {
				echo $row2['naam'].' => '.$row['naam'].'<br />';
			}
		} else {
			echo $row['naam'].'<br />';
		}		
	}
	echo '</div>';
}
?>


Wat er uiteindelijk op het scherm komt te staan is niet gesorteerd. Nu kan ik dit alles in een array zetten, sort functie gebruiken en vervolgens weer in een loop echo'en. Volgens mij kan dit simpeler. Is dit alles bijv. in één mysql query te stoppen? Wat is de beste oplossing? Eventuele andere aan- of opmerkingen?

Alvast bedankt!

Mvg, Roy
in je SELECT query kan je een ORDER BY veld1,veld2....veldx meegeven en daarmee de data meteen sorteren.
Dit is bekend, maar de gegevens die te zien zijn komen uit 3 verschillende query's. Deze 3 echo's moeten gesorteerd worden:

<?php
echo $row3['naam'].' => '.$row2['naam'].' => '.$row['naam'].'<br />';
echo $row2['naam'].' => '.$row['naam'].'<br />';
echo $row['naam'].'<br />';
?>
Ben ondertussen wat tutorials aan het lezen hierover. Als ik het goed heb moet ik "left join" hier gebruiken?
Ligt eraan hoe je datamodel eruit ziet.
Ik heb me wat verdiept in de join functie van mysql. Kan wat ik wil wel in één query?
Er komen uiteindelijk 3 verschillende echo's uit!? Dan heb ik toch ook 3 query's nodig?
Hoeft niet per se.
Gebruik even een inner join, dan is dit probleem zo opgelost.
Ik ga weer wat rond puzzelen.

Reageren