IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Affichage sous 3 colonnes


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut [Tableaux] Affichage sous 3 colonnes
    Bonjour

    J'ai dans l'une de mes pages une liste de produit et je veux donner la possibilité aux internautes de comparer les caractéristiques de 2 ou 3 produits. je m'explique mieux. prenons le cas d'un disque dur, ses caractéristiques : capacité, poids, vitesse de rotation. donc si nous sommes dans la liste des disque dur il ya une case à cocher devant chaque disque dur qui permettra de cocher au maxi 3 disque dur pour faire la comparaison des caractéristiques. DOnc le resultat doit s'afficher sous 3 colonnes chaque colone étant les caractéristiques d'un disque.

    J'arive à afficher les resultat des trois disques mais les resultats s'affichent comme ça :

    resultat1
    resultat2
    resultat3

    moi je veux :

    resultat1 resultat2 resultat3

    Alors si quelqu'un peux éclairer ma lanterne

    Merci d'avance

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je suppose que tu fais une boucle du style
    Pour chaque résultat de ma requete
    afficher chaque colonne
    Passer au suivant

    Maintenant il faut la faire dans l'autre sens dans ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $resultats = array();
    while($resultats[] = mysql_fetch_assoc($requete) );
    // Ton tableau est maintenant rempli avec chaque résultat, tu dois donc
    // boucler sur les colonnes
    for( $i = 0 ; $i < count($resultats[0]) ; $i++ )
    {
     // j'affiche la colonne i du résultat zéro
     // j'affiche la colonne i du résultat 1
     // j'affiche la colonne i du résultat 2
     // je passe a la ligne
    }

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut
    je donne un peux ma requête :

    SELECT * FROM table WHERE id IN ('1','5','10')

    Donc les resultats seront les caractéristiques des produit dont l'id est compris dans la requête.

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je t'ai donné le pseudo code, tu n'as plus qu'à le coder par toi meme en php maintenant, si tu n'y arrives pas, montre nous ce que tu as déjà fait et ce qui te bloqué précisément.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    424
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 424
    Par défaut
    C'est pas un problème de php, c'est un problème HTML, met des résultats entre <TD> et pas entre <TR>

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut
    merci pour vos reponses

    je vous donne ici le code que j'ai utilisé pour afficher mais qui ne marche pas dans mon deuxième cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <table border="0">
                  <tr>
    <?php 
    				$img_endRow = 0;
    $img_columns = 3; // number of columns
    $img_hloopRow1 = 0; // first row flag
    				do { if($img_endRow == 0  && $img_hloopRow1++ != 0) echo "<tr>";
    				?>
                    <td><table border="0">
                        <tr>
                          <td><?php echo $row_detail['valeurs']; ?></td>
                        </tr>
     
                    </table></td>
                    <?php  $img_endRow++;
    if($img_endRow >= $img_columns) {
      ?>
                  </tr>
                  <?php 
    				   $img_endRow = 0;
      }
      } while ($row_detail = mysql_fetch_assoc($detail));
      if($img_endRow != 0) {
    while ($img_endRow < $img_columns) {
        echo("<td>&nbsp;</td>");
        $img_endRow++;
    }
    echo("</tr>");
    }?>
     </table>
    Dans mon deuxième cas pour une colonne de ma base de donnée j'ai plusieurs resultats cad:

    idproduit model valeurs

    1 capacité 20 Go
    1 vitesse de rotation 5000 Tpm
    1 poids 20 Kgs
    1 prix 35000 FCFA



    alors pour un produit ayant l'id 1 dans la colonne valeur envoi plusieurs résultats. Mon script cidessu n'affiche pas correctement les données il les affiches en ligne alors que je veux en colone

    Enfin je c pas si vous me comprenez un peux

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 52
    Par défaut
    Bonjour,

    je te propose les modifs suivantes (non testées, mais ça devrait passer) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <table border="0">
    	<tr>
    <?php 
    // Stf - compteur de cellules
    	$cptCell = 0;
     
    // Stf	$img_endRow = 0;
    	$img_columns = 3; // number of columns
    // Stf	$img_hloopRow1 = 0; // first row flag
     
    // Stf - Sinon, $row_detail n'est pas initialisé au premier passage, or tu l'utilises dans ta boucle
    	while ($row_detail = mysql_fetch_assoc($detail))
    	{
    // Stf - Faut-il changer de ligne ?
    		if ((++$cptCell)%$img_columns == 0)
    			echo "\t</tr>\n\t<tr>";
    // Stf - Ecris un second tr au premier passage
    // Stf		if (($img_endRow == 0)  && ($img_hloopRow1++ != 0)) 
    // Stf			echo "\t<tr>\n";
     
    // Stf - Si le tableau inclus dans la cellule n'a qu'une seule cellule, il n'a pas d'utilité...
    ?>
    		<td><table border="0">
    				<tr>
    					<td><?php echo $row_detail['valeurs']; ?></td>
    				</tr>
    			</table></td>
    <?php 
    // Stf		$img_endRow++;
    // Stf		if ($img_endRow >= $img_columns) 
    // Stf		{
    // Stf ?>
    // Stf	</tr>
    // Stf <?php 
    // Stf			$img_endRow = 0;
    // Stf		}
    	}
    // Stf - On complète par des cellules vides
    	for ($i = $cptCell; $i < $img_columns; $i++)
    		echo "\t\t<td>&nbsp;</td>\n";
    // Stf	if($img_endRow != 0) 
    // Stf	{
    // Stf		while ($img_endRow < $img_columns) 
    // Stf		{
    // Stf			echo("<td>&nbsp;</td>");
    // Stf			$img_endRow++;
    // Stf		}
    // Stf		echo("</tr>");
    // Stf	}
    ?>
    	</tr>
    </table>
    Dis-moi si ça marche mieux

    Stf

  8. #8
    Membre éclairé
    Inscrit en
    Novembre 2005
    Messages
    323
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 323
    Par défaut
    j'avoue que je me retrouve pas trop suis pas trop calé php mais kan j'implémente aucun resultat s'affiche.

    Peux stp épurer le code le débarassé des trucs inutiles pour me permettre de mieux voir parce que là c le brouillard total

Discussions similaires

  1. [Tableaux] affichage d'une requete SQL sur 2 colonnes
    Par tondeuz dans le forum Langage
    Réponses: 5
    Dernier message: 01/06/2007, 16h47
  2. Affichage sous forme de colonnes
    Par harris_macken dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/04/2007, 16h02
  3. Réponses: 2
    Dernier message: 15/12/2006, 11h31
  4. [Tableaux] Affichage d'un résultat sur pls colonnes
    Par mullger dans le forum Langage
    Réponses: 5
    Dernier message: 23/11/2006, 14h18
  5. [Tableaux] Affichage d'array et sous-array
    Par zebulon90 dans le forum Langage
    Réponses: 6
    Dernier message: 06/10/2006, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo