Affichage des résultats en alterné...

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 des résultats en alterné...

par fab » 15 févr. 2006, 21:22

non je refuse Cyrano tu postes pas a ma place rho ! c'est quoi ces manieres :p

par fab » 15 févr. 2006, 21:21

on va faire simple
<?php
$row = "paire"; // la premiere ligne sera paire
while(...)
{
?>
<tr>
  <td>Blabla</td>
  <td>Blabla 2</td>
</tr>
<?php 
if($row == "paire")
{
$row = "impaire"; // pour la prochaine fois
  ?>
<tr>
  <td>Photo</td>
  <td>Nom</td>
</tr>
<?php
}
else
{
  $row = "paire"; // pour la prochaine fois
?>
<tr>
  <td>Nom</td>
  <td>Photo</td>
</tr>
<?php
}
?>

par Cyrano » 15 févr. 2006, 21:18

Le principe de base, c'est l'utilisation d'un modulo : pour faire une ligne sur deux, on fera un modulo sur 2, ce qui donne schématiquement la chose suivante :
<table summary="">
<?php
/* Code de requêtes... */
/* On crée le point de départ: */
$p = 0;
while ($enr01 = mysql_fetch_array($resultat01))
{
    if($p % 2)
    {
?>
  <tr>
    <td>Image</td>
    <td>Coordonnées</td>
  </tr>
<?php
    }
    else
    {
?>
  <tr>
    <td>Coordonnées</td>
    <td>Image</td>
  </tr>
<?php
    }
    /* On incrémente le repère servant à alterner les lignes */
    $p++;
}
?>
</table>
En clair, si le pointeur $p est pair, on met l'image à gauche, les coordonnées à droite, sinon, on fait l'inverse.

par Pierre_invité » 15 févr. 2006, 19:20

Fab,
J'ai retourné le code, que tu m'as proposé de regarder, dans tous les sens...
Je n'y arrive pas...

J'ai essayé (ce qui donnait le meilleurs résultat!) :
$affich = array('image();', 'coordonnes();'); 
$nb = count($affich); 
$i = 0; 

while ($enr01 = mysql_fetch_array($resultat01)) 
{
echo '<tr>';
echo "<td>";
echo $affich[$i % $nb];
echo "</td><td>";
echo $affich[($i+1) % $nb];  // "+1" sinon il affiche la même chose que dans la cellule précédente...
echo "</td>";
echo "</tr>";
}
$i++
Il affiche bien en altenance "image()" et "coordonnees()"
mais comme "image()" et "coordonnees()" font référence à des fonctions et qu'à ce niveau... le code n'est pas interpreté....

et donc ca affiche :

Code : Tout sélectionner

image(); coordonnes(); coordonnes(); image(); image(); coordonnes(); coordonnes(); image();
Je ne sais pas comment m'y prendre...
Si tu avais une idée... merci de mettre sur la voie.

Pierre.

par Pierre_invité » 15 févr. 2006, 16:01

Fab
Merci de ta réponse je vais y jeter un oeil...

Pierre.

par fab » 15 févr. 2006, 14:28

http://expreg.com/rex_article.php?art=alternace_coul

c'est un article sur les couleurs mais c'est le meme principe sauf qu'ici a la place de changer les couleurs tu devras changer la disposition de tes TD

Affichage des résultats en alterné...

par Pierre_invité » 15 févr. 2006, 14:24

Bonjour à vous tous.

Suite à une contrainte graphique, je dois afficher des résultats de recherche en alterné...

Je m'explique :

Je fais une recherche dans une table (pas de soucis !), mais je dois les afficher de façon alterné,
Dans un tableau (HTML) dans deux cellules par ligne.
La première ligne doit comporter :
Première cellule : la photo de la personne
Deuxième cellule : Les coordonnées de la personne

La deuxième ligne doit comporter :
Première cellule : Les coordonnées de la personne
Deuxième cellule : la photo de la personne

La troisième ligne doit comporter :
Première cellule : la photo de la personne
Deuxième cellule : Les coordonnées de la personne

etc...

Est ce possible ?
Comment doit procéder
Merci de votre aide

Pierre.