zonne repetee

bill
Invité n'ayant pas de compte PHPfrance

20 mai 2008, 20:52

Salut a tous, je fait une boucle pour afficher des resultats mais il s'affichent par défaut un en dessous de l'autre, je voudrais savoir comment les aficher un a coté de l'autre enfin deux par deux quoi ... Merci de m'aider

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 mai 2008, 23:32

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".

De plus, il est utile de donner le code que tu utilises actuellement, celui qui ne donne pas le résultat escompté, pour que nous puissions t'aider.

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

unequestion
Invité n'ayant pas de compte PHPfrance

21 mai 2008, 09:57

Merci, ben je bosse sur dremweaver en php 5

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

21 mai 2008, 10:47

En fait, ta question est une question de débutant (c'est pas une critique, on est tous passé par là), donc le forum PHP5 n'est pas franchement approprié.
Il doit être utilisé pour les question concernant la logique Objet de PHP.

Sinon, pour ta question, montre nous le code de ta liste actuelle et on essayera de t'aider ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

unequestion
Invité n'ayant pas de compte PHPfrance

21 mai 2008, 22:38

ben tou simplement une requete simple
mysql_select_db($database_Connect, $Connect);
$query_Resultats = SELECT * FROM mytable WHERE etc
$Resultats = mysql_query($query_Resultats, $Connect) or die(mysql_error());
$row_Resultats= mysql_fetch_assoc($Resultats);
$totalRows_Resultats= mysql_num_rows($Resultats);
et l'affichage par une boucle
<?php $i=0; while($val=mysql_fetch_array($Resultats)) { $i++;?>

echo 'de ce que je veux' 

<?php } ?>
le truc c'est que les resultats sortent un en dessous de l'autre moi je veux un a coté de l'autre genre 2 ou 3 cote a cote ensuite la ca repart a la ligne

Merci

Eléphanteau du PHP | 39 Messages

21 mai 2008, 23:13

essaye ça

echo "<div style='width:300px'><p>";

echo $ceQueTuVeut;

echo "</p></div>";
C'est en forgeant qu'on se forge

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

21 mai 2008, 23:47

Tu utilises une variable $i qui s'incrémente à chaque itération de la boucle.
Pour que tout les X résultats, tu ais un saut à la ligne, il faut que tu testes si $i est un multiple de X.
Il existe un opérateur mathématique pour ça : le modulo.

En PHP, le modulo est le signe % (pourcentage)

Pour voir comme il fonctionne essaye le code suivant
for($i=0; $i++; $i<30)
{
  $toDisplay = '$i:'.$i;
  if( $i%3 )
    $toDisplay .= ' est un multiple de 3';
  $toDisplay .= '<\br>';
  echo $toDisplay;
}
edit : et que compte tu faire avec ce code nass ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 39 Messages

22 mai 2008, 00:03

edit : et que compte tu faire avec ce code nass ?
C'est une sugestion, mais la tienne est meilleurs :agenouille:
C'est en forgeant qu'on se forge

unequestion
Invité n'ayant pas de compte PHPfrance

22 mai 2008, 11:16

merci pour ces reponses, bon je ne sais pas si j'ai bien percuté le truc mais quand je teste le code la :
$i=0;while($val=mysql_fetch_array($ResultatsMeetAdhs)) { $i++;
 $toDisplay = '$i:'.$i; 
 
 if( $i%3 ) 
    $toDisplay .= ' est un multiple de 3'; 
  $toDisplay .= '<\br>'; 
  echo $toDisplay; 
}
ca me sort

$i:1 est un multiple de 3<\br> $i:2 est un multiple de 3<\br> $i:3<\br> $i:4 est un multiple de 3<\br>

je vois pas le rapport avec le saut a la ligne apres 2 ou 3 resultats

Bref en gros peut etre que je me suis mal exprimé mais ce que je cherche c'est une zone repetée mais horizontale

Merci d'avance

Mammouth du PHP | 1353 Messages

22 mai 2008, 11:21

C'est normal.

if($i%3) sera égale à 0 une fois sur 3. Toi tu testes quand est ce que cela sera différent de 0 donc tu vois tous les cas sauf ceux ou $i est un multiple de 3. En faisant l'inverse tu auras le résultat attendu :
for($i=0; $i++; $i<30) 
{ 
  $toDisplay = '$i:'.$i; 
  if( !$i%3 ) 
    $toDisplay .= ' est un multiple de 3'; 
  $toDisplay .= '<\br>'; 
  echo $toDisplay; 
} 
Ensuite à toi d adapter pour ton code, si tu sais afficher quelque chose toute les x occurences tu sais mettre des sauts de lignes ou ce que tu veux à ces occurences la ;)
Tell me and I forget. Teach me and I remember. Involve me and I learn.

unequestion
Invité n'ayant pas de compte PHPfrance

22 mai 2008, 11:57

Ahh ok d'acord je vois mieux la c'est gentil , donc en testant
$toDisplay =$i; 
  if( $i%2 ==0) 
    $toDisplay .= '<br>'; 
  echo $toDisplay; 
ca me sort
1 2
3 4

c'est parfait il suffit juste de remplacer par ce que je veux afficher j'ai donc fait
$toDisplay ='<table width="473" height="120" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td width="446" height="82">'.$val["nom"].'</td></tr></table>'; 
  if( $i%2 ==0) 
    $toDisplay .= '<br>'; 
  echo $toDisplay; 
et la ca me sort les resultats un en dessous de l'autre ... bizare

Mammouth du PHP | 1353 Messages

22 mai 2008, 12:11

Je crois que la balise <table> provoque un retour à la ligne.
Pourquoi les mettre dans un tableau si c'est pour un seul élément ? (une seule ligne une seule colonne dans ton tableau...)

Soit tu affiches les résultats comme du texte hors du tableau, soit tu te sers de ce code pour adapter les <tr></tr> de ton tableau et donc tu crée des colonnes à chaque passage mais tu crées une fin de ligne et un début de nouveau de ligne que une fois sur 2...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

unequestion
Invité n'ayant pas de compte PHPfrance

22 mai 2008, 12:52

ben en fait j'ai donné juste un element parmi d'autre pour simplifier mais je dois afficher pa mal de truc pour chaque tableau, d'ou le tableau ou zone ou region repetée horizontale mais je vois ce que tu veux dire il faut jouer avec les tr , je vais voir en tout cas merci c gentil de ta part A+