Ordonner données après requete

Eléphant du PHP | 199 Messages

20 mai 2006, 10:25

Bonjour,
j'ai un tit problème (plutôt normal si je viens ici), j'explique :
Je fais une requete à ma BDD avec une limite de 20 résultats, je veux organiser ces résultats en 4 par lignes et 5 colonnes, mais je ne sais pas comment faire ma boucle pour que au bout de 4 résultats affichées qu'elle me recrée une ligne.
Merci de votre aide.

Mammouth du PHP | 19672 Messages

20 mai 2006, 11:09

Sers-toi d'un modulo pour ajouter un non un retour de ligne : tu mets un pointeur à 0 avant la boucle d'affichage et tu l'incrémentes en fin de boucle à chaque tour. Au début de la boucle, tu ajoute un truc du style:
$i = 0;
while(($contition = true) != false)
{
    if($i % 4 == 0)
    {
        //.. instruction pour ajouter le retour de ligne
    }
    //... reste de l'afichage des données
    //....
    //.. incrémentation du pointeur:
    $i++;
}
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 199 Messages

20 mai 2006, 11:17

Je vais regarder, je te redirais.
Merci

Eléphant du PHP | 199 Messages

20 mai 2006, 13:03

Je comprends pas le : while(($contition = true) != false) :$
Pourrais-tu m'expliquer la signification, j'aime bien savoir ce que je code veux dire... :s

Mammouth du PHP | 19672 Messages

20 mai 2006, 13:13

Ok.
Quand tu crées une boucle, tu as deux choses :
- un test de validité sur une comparaison;
- une instruction ou une suite d'instructions;

Le test, c'est ce qui se trouve entre les parenthèses du while() : Dans la pratique, tu testes si la comparaison est vraie.
Si j'écris :
while($a < 1000)
{ //...
en somme, je vérifie que $a est inférieur à 1000, autrement dit : "$a est inférieur à 1000" == VRAI ou "$a est inférieur à 1000" == FAUX. Si j'obtiens FAUX, je sors de la boucle.

Il serait donc plus logique et techniquement juste de mettre dans les parenthèses une comparaison comme on fait dans un if() par exemple. il est donc sémantiquement plus juste d'écrire:
while(($a < 1000) == TRUE)
{ //...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 199 Messages

20 mai 2006, 13:19

Ah d'accord, je saurais.