{MySQL} Classer selon un champs et rassembler

JJBlow Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour ou bonsoir.

Voilà, j'ai un petit problème, j'ai dans ma base de données tous les (anciens) articles de mon site.
Et je voudrais les classer sur le site.
Alors j'ai à droite une colonne et je voudrais les classer dedans par ordre chronologique.

Ce qui va me servir c'est le champs que j'ai appelé par exemple IID (id étant le numéro de l'article, en auto-incrément).

J'ai donc plusieurs articles qui ont le même IID car ils datent de la même époque, mais il ont bien sur un id différent (car ce ne sont pas les même).

Comment donc puis-je faire pour:
que les id soient dans l'ordre croissant et comporte chacun leur propre article aux aussi dans l'ordre croissant ?

Comme c'est compliqué à expliquer je vous montre;
je voudrais avoir tous les IID avec dedans les articles classés par id:

IID1:
id1
id2
id2
...

IID2:
id1
id2
id2

...

IID3:
id1
id2
id2

et ainsi de suite.

J'ai essayé mais je n'y arrive pas.

Voilà une partie du code que j'ai fais:
$result = mysql_query('SELECT * FROM liste_article WHERE IID = '.mysql_real_escape_string($_GET['ID']).' ORDER BY IID');
while ($row =mysql_fetch_array ($result) )
{
echo '<h3 class="titredroite">IID '.$row['IID'].'</h3>
							<p class="titredroitep">
<a class="b" href="http://monsite.com/index.php?ID='.$row['ID'].'">Article n° '.$row['id'].' </a>
							</p>';}


Donc seulement ce code ne va pas car il m'organise de cette façon:

IID1
id1

IID1 (encore)
id2

IID1
id3

IID2
id1

IID2
id2

et ainsi de suite.

Je m'en remet donc à vous pour m'aider à trouver comment faire.

Merci beaucoup d'avance et bonne journée.

P.S: attention à différencier dans mon exemple ID et id, ID ici n'a rien à voir.
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Essaie quelque chose de ce genre :
$sql = "SELECT * FROM liste_article ORDER BY IID, id";
$res = mysql_query($sql);
$IIDEnCours = "";
while ($donnees = mysql_fetch_array($res))
{
    if ($IIDEnCours != $donnees["IID"])
    {
        $IIDEnCours = $donnees["IID"];
        echo "<h3 class='titredroite'>IID $IIDEnCours :</h3>";
    }
    echo '<p class="titredroitep"><a class="b" href="http://monsite.com/index.php?ID='.$donnees['ID'].'">Article n° '.$donnees['id'].'</a></p>";
}

Bon courage,

Xavier
0
JJBlow Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci bien Xavier de bien vouloir m'aider.

Alors j'ai essayer ce que tu m'as donné mais malheureusement sa ne fonctionne pas.
Voilà ce que sa m'affiche:
http://nsa10.casimages.com/img/2009/11/23//091123063607959112.jpg

en retranscrivant sa donne:
IID2 (je ne sais pas pour quoi 2)
Article n°
Article n°
Article n°
Article n°
Article n°
Article n°
Article n°

Je ne sais vraiment plus comment faire, voilà 3 jours entiers que je suis sur ce problème, j'y ai passé tout mon week-end sans répit et je n'ai pas trouvé comment résoudre ce problème.

Merci encore Xavier et bonne journée à toi.
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Tu peux donner exactement ce que tu as mis ?
Mon script a une petite coquille (un " au lieu d'un '), j'imagine que tu l'as corrigée ?

Ta table contient quoi comme données ?
0