[PHP] Total d'enregistrements d'un tableau...

Résolu
Panama -  
Apatik Messages postés 6040 Statut Contributeur -
Bonjour à tous,
J'ai besoin d'afficher le nombre total d'enregistrements du tableau suivant :
Y'a-t-il une solution pour faire cela ?

Merci pour les infos et bonne journée !

<?php
// informations bdd
$host = 'localhost';
$user = 'test';
$pass = '1234';
$db   = 'compteur';

// connexion à la bdd
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

// récupération de la valeur id_membre
$id_membre= $_GET['valeur'];

//traitement des données
$select = ("select * from compteur where identifiant=\"".$id_membre."\" ORDER BY date_session DESC");
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

// si on a récupéré un résultat on l'affiche
if($total) {
    // debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
        // première ligne on affiche les titres
        echo '<tr>';
        echo '<td align="center" bgcolor="#669999"><b>Identifiant</b></td>';
		echo '<td align="center" bgcolor="#669999"><b>Date de connexion</b></td>';
        echo '<td align="center" bgcolor="#669999"><b>IP de connexion</b></td>';
		echo '</tr>'."\n";
    // lecture et affichage des résultats    
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
        echo '<td align="center" bgcolor="#CCCCCC">'.$row["identifiant"].'</td>';
		echo '<td align="center" bgcolor="#CCCCCC">'.$row["date_session"].'</td>';
		echo '<td align="center" bgcolor="#CCCCCC">'.$row["ip"].'</td>';
		echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo '<td align="center" style="color:#FF0000;"><b>Aucun enregistrements...</b></td>';

// on libère le résultat
mysql_free_result($result);
?>

6 réponses

  1. Apatik Messages postés 6040 Statut Contributeur 789
     
    Bonjour,

    au moment ou tu boucle, tu rajoute un compteur comme ceci:
        // lecture et affichage des résultats    
        $i = 0;
        while($row = mysql_fetch_array($result)) {
            $i++;
            echo '<tr>';

    Et tu n'auras plus qu'a récupérer la valeur de $i =)

    0
  2. Panama
     
    Merci Apatik c'est exactement se que je voulais faire...

    Bonne fin de journée !
    0
  3. Jug4tsu Messages postés 56 Statut Membre 13
     
    Ca peut sembler con, mais
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); 
    $total = mysql_num_rows($result);


    Est-ce que $total correspond pas tout simplement au nombre de lignes recherchées ?
    0
    1. Apatik Messages postés 6040 Statut Contributeur 789
       
      Non, la requête est bien un select et non un count.
      0
    2. Jug4tsu Messages postés 56 Statut Membre 13
       
      Oui mais mysql_num_rows() renvoie le nombre de lignes récupérées pas un select.
      0
    3. Apatik Messages postés 6040 Statut Contributeur 789
       
      outch, bien vu!
      0
  4. Panama
     
    Effectivement, je viens de testé comme le dit Jug4tsu avec $total est ça fonctionne aussi bien...

    Par contre, je n'arrive pas à ramené cette variable en début de page (ça marche seulement si elle est placée après le code PHP
    0
    1. Apatik Messages postés 6040 Statut Contributeur 789
       
      Normale, elle ne sera définie qu'a partir du moment ou tu auras exécuté la requête, et défini que la variable valait le total =)
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ktm620enduro Messages postés 377 Statut Membre 38
     
    count($result)
    ?
    0
    1. Apatik Messages postés 6040 Statut Contributeur 789
       
      Nope, $result est une ressource, pas un array
      0
    2. ktm620enduro Messages postés 377 Statut Membre 38
       
      essaye ca
      while(($resultArray[] = mysql_fetch_assoc($result)) || array_pop($resultArray));    
      print_r(count($resultArray[0]).' entrees dans ');    
      print_r($resultArray[0]);


      tu peux exécuter ce code en début de page (sans les print_r()), et pondre ton tableau html a la fin ;)
      0
    3. Apatik Messages postés 6040 Statut Contributeur 789
       
      Sinon ça fait un bout de temps que le sujet est résolu =)
      0
    4. ktm620enduro Messages postés 377 Statut Membre 38
       
      lol effectivement mais c'est pour l'aider... c
      0
  7. Panama
     
    Merci à tous pour votre aide (ça marche)

    Bonne soirée !
    0