Forum Clubic

[PHP/MYSQL] - Affichage sur n colonne bugé

bonjours tlm

alors voila j’ai voulue faire un affichage sur n colonne pour afficher des photo et autre a parti de donné venant de sql apres recherche j’ai trouver un bou de code sur le net mais celui ci saute le tout 1er enregistrement de SQL sachant que celui ci a l’idx la plus haut


<div id="content">
  <div class="post">
    <div id="center">
      <div class="googlebar">
        <?php
	$nb_results = 7; // nombre de donnée par page
	googleBarre("SELECT count(idx) FROM trombino WHERE actif = 1", $nb_results, 4, 4, 1, 1);
	$query_trombino = "SELECT *, DATE_FORMAT(date, '$site_date_jh') AS dateh FROM trombino WHERE actif = 1 ORDER BY date DESC LIMIT $start, $nb_results ";
	$trombino = mysql_query($query_trombino, $trombinoV3) or die(mysql_error());
	$row_trombino = mysql_fetch_assoc($trombino);
?>
      </div>
      <?

 while($row_trombino = mysql_fetch_array($trombino)) {
   $t[] = $row_trombino;
 }
 ?>
      <table border="0">
        <?
 $n = 2;
 for($i = 0; $i <= (count($t) - 1); $i ++) {
  if ($i % $n == 0) {
   ?>
        <tr>
          <?
  }
  ?>
          <td><div class="article-box">
            <div class="article-body">
            <div class="photo"><a href="photo.php?id=<?php  echo $t[$i]['idx'] ?>" onClick="window.open(this.href,'photo','location=no,toolbar=no,resizable=yes'); return false;"><img src="<?php echo $target."thumb_".$t[$i]['img']; ?>" width="150" border="0" alt="<?php echo "thumb_".$t[$i]['img']; ?>" /></a> </div>
            <div>
              <div><b><a href="index.php?idx=<?php echo $t[$i]['idx']; ?>">
                <?php  echo $t[$i]['pseudo'] ?>
                <img src="img/<?php echo $t[$i]['sexe']; ?>.gif" alt="<?php echo $t[$i]['sexe']; ?>" /></a></b> </div>
              <div class="vote">
                <?php if ( $t[$i]['vote'] == 1 && $auto_vote == 1 )
        {

        	echo rate2( $t[$i]['idx'] );

  }?>
              </div>
            </div></td>
          <?
  if ($i % $n == (2)) {
   ?>
        </tr>
        <?
  }
 }
 ?>
      </table>
    </div>
    <div class="feedback"> </div>
  </div>

?>

snifff :’(

plus personne pour aider les gens ici?
Sans_nom … qui ma le plus aider malgré le fait qu’il m’embrouille la plus part du tout lol absent?

:hello:

 $row_trombino = mysql_fetch_assoc($trombino);
?>
     </div>
     <?

while($row_trombino = mysql_fetch_array($trombino)) {
  $t[] = $row_trombino;
}

A mon avis, le problème vient de là : tu fais un mysql_fetch_assoc, immédiatement suivi par le while qui relit une ligne de résultats.
Essaie de mettre en commentaire la ligne "$row_trombino = mysql_fetch_assoc($trombino);".

Sans Nom n’a pas forcément envie d’aider tout le monde…

  1. pas besoin de tout stocker dans un tableau, tu peux incrémenter une variable $i dans ta boucle while (mysql_…)
  2. regarde le code HTML avant de crier à l’erreur

Et pour finir :

($i % $n) == 2

Si $n = 2, c’est pas près d’arriver… (x [2] = {0,1})

La bonne solution consiste à :

  1. afficher <tr> au début (avant la boucle)
  2. afficher </tr><tr> pour $i != 0 et ($i % $n) == 0
  3. afficher </tr> après la boucle

Ensuite tu auras certainement des ajustements à faire.

Je me doute que tu ne veux pas aider tlm :frowning: je me suis mal exprimer désoler, mais bon tant pis je me comprends

thierry51> tu as essayé ce que je t’ai dit ?

Oui ça a corriger mon probleme, j’avoue ne pas tout comprendre par contre…

Par contre j’ai un souci sur les cellules maintenant.
Plus rien n’est a la meme taille, mais ça vient certainement comme la dit Sans-nom du html.

Grand merci pour votre aide :slight_smile:

:frowning: j’ai plein de balise qui sont apparue … le résulta mais bon mais j’ai des trucs bizarre sur le code brut dans le html…
j’ai fait ta modif Sans-nom mais cela n’a rien changer, j’ai du me planter ou j’ai pas compris

Bon enfaite ça venait du scripte de sondage, une balise que j’avais oublier.

Exist il un soft qui permet de "ranger" le code?

Les templates. Mais si tu n’es pas à l’aise en PHP oublie.

(Ca permet pas de ranger le code, mais de séparer php et html, et donc de le formatter correctement)