Sorteren op naam

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roy -

Roy -

22/09/2010 20:02:36
Quote Anchor link
Beste forum leden,

ik heb op het moment het volgende script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?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
Gewijzigd op 22/09/2010 20:09:51 door Roy -
 
PHP hulp

PHP hulp

28/11/2021 03:55:39
 
Aad B

Aad B

22/09/2010 20:07:24
Quote Anchor link
in je SELECT query kan je een ORDER BY veld1,veld2....veldx meegeven en daarmee de data meteen sorteren.
 
Roy -

Roy -

22/09/2010 20:09:35
Quote Anchor link
Dit is bekend, maar de gegevens die te zien zijn komen uit 3 verschillende query's. Deze 3 echo's moeten gesorteerd worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
echo $row3['naam'].' => '.$row2['naam'].' => '.$row['naam'].'<br />';
echo $row2['naam'].' => '.$row['naam'].'<br />';
echo $row['naam'].'<br />';
?>
 
Noppes Homeland

Noppes Homeland

22/09/2010 20:12:42
Quote Anchor link
"maar de gegevens die te zien zijn komen uit 3 verschillende query's"

dan maak je er 1 van
http://www.w3schools.com/Sql/sql_join.asp
 
Roy -

Roy -

22/09/2010 20:35:26
Quote Anchor link
Ben ondertussen wat tutorials aan het lezen hierover. Als ik het goed heb moet ik "left join" hier gebruiken?
 

22/09/2010 20:39:14
Quote Anchor link
Ligt eraan hoe je datamodel eruit ziet.
 
Roy -

Roy -

29/09/2010 21:06:33
Quote Anchor link
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?
 

29/09/2010 21:08:19
Quote Anchor link
Hoeft niet per se.
 
Modern Warfare

Modern Warfare

29/09/2010 21:16:27
Quote Anchor link
Gebruik even een inner join, dan is dit probleem zo opgelost.
 
Martijn B

Martijn B

29/09/2010 21:27:13
Quote Anchor link
Misschien dat je hier ook nog wat aan hebt:

http://crisp.tweakblogs.net/blog/317/formatting-a-multi-level-menu-using-only-one-query.html

In dit voorbeeld wordt er gesorteerd op parentid en naam. Volgens mij is dit wat je wil.

En alle categorieen worden met 1 query opgehaald.
Gewijzigd op 29/09/2010 21:27:50 door Martijn B
 
Roy -

Roy -

29/09/2010 21:33:34
Quote Anchor link
Ik ga weer wat rond puzzelen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.