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 :

Limiter l'affichage de mon tableau à 3 lignes seulement


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut Limiter l'affichage de mon tableau à 3 lignes seulement
    Bonjour,
    j'ai un tableau qui affiche le résultat d'une requete mysql et qui affiche les données sur 4 colonnes mais j'aimerais arriver a limiter les données a 4 lignes seulement
    comment pourais-je y arriver ?
    meme si je change $nbligne = 0; a 2 ou 3 ou 4 ca change pas grand chose

    merci

    voici mon script

    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
    <?php 
    $nbcol = 4;
    $nbligne = 0;
    if ($NbreData != 0) {
    	$j = 1;
    	//print_r ($NbreData).'<br/>';
    ?>
    <table border="1">
    <tbody>
    <?php
    	while ($dato = mysql_fetch_array($data)) {
    		if ($j%$nbcol == 1) {
    			$nbligne++;
    			$fintr = 0;
    ?>
    	<tr>
    <?php
    		}
    ?>
     
    		<td width=20%>
    <?php
    // -------------------------
    // DONNEES A AFFICHER dans la cellule
    		echo "<a href='galerie.php?idMembre=".($dato['id'])."'><img src=../images/photo_profil/".$dato['photo']." width='120' height='100'><br/>" .$dato['pseudo']."</a>";
    ?>
    		</td>
    <?php
    		if ($j%$nbcol == 0) {
    			$fintr = 1;
    ?>
    	</tr>
    <?php
    		}
    		$j++;
    	} // fin while
    // fermeture derniere balise /tr
    	if ($fintr !=1) {
    ?>
    	</tr>
    <?php
    	}
    ?>
    </tbody>
    </table>
    <?php
    } else {
    	echo 'pas de données à afficher.';
    }
    ?>

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Rajoute la clause LIMIT à ta chaîne SQL et le tour est joué sans avoir à tripatouiller le code PHP.

  3. #3
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    merci pour ta réponse mais je veux pas me servir de la limite avec mysql car j'ajoute une pagination a mon tableau pour afficher toutes les données sur 3 lignes

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Une pagination ca se fait justement avec LIMIT : LIMIT n_ligne, nbre_ligne
    LIMIT 1, 3
    LIMIT 4, 3
    LIMIT 7, 3
    etc.

  5. #5
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    essaye ceci:
    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
    $NbreData = mysql_num_rows ( $data ); //nombre d'enregistrements
    $nbcol = 4; //nombre de colonnes
    $nbligne = 4; //nombre de lignes
    if ($NbreData != 0) {
     $numLigne=1;//numero de ligne
     $numData=1;//counter de data affichée
     echo "<table border='1'>";
     while( ($dato = mysql_fetch_array($data)) && ($numLigne<=$nbligne) ) //tanque l'on a un record et que l'on n'a pas le nbr de lignes
     {
      echo "<tr>";
      $numCol=1;
      while($numCol<=$nbcol)//tant que l'on n'a pas le nbr de colonnes
      {
        echo "<td>";//on ouvre la case
        if( ($numData <= $NbreData) && (!empty($dato['id'])) ) //si on n'a pas atteint le nbr de record et que id n'est pas vide
        {
         echo "<a href='galerie.php?idMembre=".($dato['id'])."'><img src=../images/photo_profil/".$dato['photo']." width='120' height='100'><br/>" .$dato['pseudo']."</a>"; //on affiche les données
        }else{
         echo "&nbsp;";// sinon on affiche un blanc
        }
        echo "</td>";
        $numCol++;//on incrémente le num de la colonne
        $numData++;//on incrémente le compteur de data
        $dato = mysql_fetch_array($data);//on lis le record suivant
       }
      echo "</tr>";	
      $numLigne++;//on incrémente le num de la ligne
     }
     echo "</table>";
    }

  6. #6
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    oui c'est exact sabotage, comment n'ais je pu y penser ?

    et c'est tout une belle machinerie ton truc patrickbaras

    une vraie merveille!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Affichage vide si tableau à plusieurs lignes reçu
    Par gryphus71 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/07/2014, 17h03
  2. [MySQL] Limiter l'affichage d'une Tableau
    Par lordlifen dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/09/2009, 11h23
  3. affichage de mon tableau
    Par kharg dans le forum Débuter
    Réponses: 7
    Dernier message: 08/09/2008, 00h03
  4. Lignes blanches avant mon tableau
    Par SCalc dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/09/2006, 15h30
  5. Empecher l'affichage d'un tableau sur plusieurs lignes ??
    Par cedre22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 03/02/2006, 08h47

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