Boucle while et affichage > Problème

Invité
Invité n'ayant pas de compte PHPfrance

13 mai 2008, 11:59

Bonjour,

pour afficher des données de ma base sql, j'utilise ce procédé :
<?php

$select = mysql_query("SELECT * FROM liens ORDER BY RAND()");
while ($donnees = mysql_fetch_array($select))
{
        if($donnees['disponibilite'] == oui) { echo'oui&nbsp;&nbsp;&nbsp;'; }

if ($donnees['disponibilite'] == non) { echo'non&nbsp;&nbsp;&nbsp;'; }

}

?>
Les données s'affichent bien mais si il y en a beaucoup, elles sortent de mon design.

De plus, je ne veux pas une données par ligne mais bel et bien de ce type par exemple :

oui oui oui oui oui oui oui oui
oui oui oui oui oui oui oui non

Quelqu'un serait d'ou vient le problème et/ou aurait une solutions à me proposer ?

J'ai également essayer avec un tableau <table....> avec une limite de 65% mais plus il y a de données,plus celui ci s'agrandi quand même malgré la limitation ?

merci de votre aide

Mammouth du PHP | 1353 Messages

13 mai 2008, 12:49

Bonjour,

je ne suis pas sur de bien comprendre mais je pense que l'information suivante pourra t aider :

si tu utilise l'opérateur % tu peux effectuer une opération "toute les x fois". Par exemple, si tu veux afficher uniquement 5 "oui" par ligne tu peux faire quelque chose comme :
<?php 

$select = mysql_query("SELECT * FROM liens ORDER BY RAND()"); 
$j=0;
while ($donnees = mysql_fetch_array($select)) 
{ 
if($donnees['disponibilite'] == oui) { echo'oui&nbsp;&nbsp;&nbsp;'; } 
if ($donnees['disponibilite'] == non) { echo'non&nbsp;&nbsp;&nbsp;'; } 
$j++;
if($j%5==0) echo "<br/>"; // si j est un multiple de 5 on va à la ligne
} 

?>
par contre je ne sais pas de quel type est $donnees['disponibilite'] mais c'est étrange de le comparer avec oui et non sans mettre des " " autour... Enfin si ca marche tant mieux... :)
Tell me and I forget. Teach me and I remember. Involve me and I learn.