affichage avec modulo

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : affichage avec modulo

par Chile » 08 mai 2006, 18:26

:)
bien vu Ryle pour la requete;
j'ai viré cette ligne de la requete (ecrite par dreamweaver)
$row_enr_affichage_caballos = mysql_fetch_assoc
et plus de probleme d'affichage de la premiere image

tout fonctionne

merci

par Ryle » 06 mai 2006, 00:29

Y a pas de raison pour qu'il saute le premier enregistrement d'après ton code, vu que tu boucles juste un mysql_fetch_row, il n'y a donc aucune raison pour qu'il en saute.

Regarde plutot du coté de ta requête, est-ce que tu utilises un limit ?
affiche la requête et joue là dans mysql pour comparer les résultats... :)

par Chile » 05 mai 2006, 20:14

:cry: ,
j'ai toujours pas trouvé !
ca viendra pas de cette variable ? :

Code : Tout sélectionner

$i = 0;

par Chile » 04 mai 2006, 15:59

:) oui
j'ai bien compris du modulo maintenant,
mais je t'avoue que je comprends pas pourquoi
ca m'affiche pas la premiere image de ma base,
mais seulement les suivantes :?

par mere-teresa » 04 mai 2006, 15:45

Tu as une nouvelle question après avoir lu les réponses qui précèdent la mienne ?

par Chile » 04 mai 2006, 14:43

exact :?
j'avais oublié de poser la deuxieme partie du code !!
le voici complet !
de plus je me suis planté sur le nbr de colonnes ! c'est bien 3
<?php 
$i = 0; 
while ($row_photos = mysql_fetch_row($enr_affichage_caballos)) 
{ 
    if($i % 3 == 0) 
    { 
?>
          <tr>
<?php 
    } 
    $id = $row_photos[0]; 
    $url_photos = $row_photos[6]; 

    $url = $row_photos[5]; 

    $nom_photos = $row_photos[5]; 
    $titulo = $row_photos[2]; 
	$estado = $row_photos[7];

?>
            <td width='290' valign="top"><div align="center">              <a href="pinturas_detal_new2.php?id=<?php echo $row_photos[0]; ?>"><IMG SRC='images/<?php echo ($url); ?>' ALT='<?php echo($titulo); ?>' width="100" border='0'></a><br>
                     <div align="center"><span class="corps_text_bleu"><?php echo($titulo);?></span><br>
            <div align="center"><span class="corps_text_b_petit"><?php echo($estado);?></span></div></td>
<?php 
    if(($i + 1) % 3 == 0) 
    { 
?>
          </tr>
          <?php 
    } 
    $i++; 
} 
?>

par mere-teresa » 04 mai 2006, 10:12

Tout à fait, tente le modulo 2 ($valeur %2)

Modulo signifie prendre le reste entier d'une division par N

par Ryle » 04 mai 2006, 10:07

Tu fais un modulo 3 pour afficher sur deux colonnes ? doit y avoir un truc qui m'échappe... mais il manque toute une partie de ton code, on ne voit pas la fin du while, on ne sait pas comment s'incrémente $i, etc.

Le modulo te retourne le reste d'une division :

Code : Tout sélectionner

0 % 2 = 0 ( 0 divisé par 2 = 0, reste 0) 1 % 2 = 1 ( 1 divisé par 2 = 0, reste 1) 2 % 2 = 0 ( 2 divisé par 2 = 1, reste 0) 3 % 2 = 1 ( 3 divisé par 2 = 1, reste 1) 4 % 2 = 0 ( 4 divisé par 2 = 2, reste 0) 5 % 2 = 1 ( 5 divisé par 2 = 2, reste 1)
Tu peux ainsi compter un nombre d'éléments et les disposer deux par deux en mettant un retour à la ligne (ou une nouvelle ligne de tableau) à chaque fois que le résultat est 0 :)

De la même manière tu peux faire n colonnes avec un modulo n, en te basant à chaque fois sur le résultat 0 :

Code : Tout sélectionner

0 % 3 = 0 1 % 3 = 2 2 % 3 = 1 3 % 3 = 0 4 % 3 = 2 5 % 3 = 1 ...

par Vaedan » 04 mai 2006, 09:10

Je pense que tu devais faire
if ( $i % 3 === 0 )

affichage avec modulo

par Chile » 03 mai 2006, 23:06

Bonjour,
J'ai un petit probleme d'affichage.
J'ai recuperer un code modulo, pour afficher des images et données
sur deux colonnes. Ce code m'affiche bien toutes les données de ma table avec le fichier associé a chacun...mis a part la premiere donnée de ma table et si je supprime la premiere infos de ma table (odre id), la deuxieme passe alors en premiere position et ne sera plus affichée non plus... :?
voici le script si qlq peut m'aider a resoudre ce truc
<?php 
$i = 0; 
while ($row_photos = mysql_fetch_row($enr_affichage_caballos)) 
{ 
    if($i % 3 == 0) 
    { 
?>
          <tr>
<?php 
    } 
    $id = $row_photos[0]; 
    $url_photos = $row_photos[6]; 

    $url = $row_photos[5]; 

    $nom_photos = $row_photos[5]; 
    $titulo = $row_photos[2]; 
	$estado = $row_photos[7];

?>