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

Résolu/Fermé
Panama - 22 sept. 2010 à 07:02
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 - 23 sept. 2010 à 18:22
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

Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 08:56
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
Merci Apatik c'est exactement se que je voulais faire...

Bonne fin de journée !
0
Jug4tsu Messages postés 56 Date d'inscription lundi 13 septembre 2010 Statut Membre Dernière intervention 1 septembre 2011 13
Modifié par Jug4tsu le 22/09/2010 à 16:05
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
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 16:07
Non, la requête est bien un select et non un count.
0
Jug4tsu Messages postés 56 Date d'inscription lundi 13 septembre 2010 Statut Membre Dernière intervention 1 septembre 2011 13
22 sept. 2010 à 16:09
Oui mais mysql_num_rows() renvoie le nombre de lignes récupérées pas un select.
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 18:48
outch, bien vu!
0
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
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
23 sept. 2010 à 18:22
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
Modifié par ktm620enduro le 22/09/2010 à 19:06
count($result)
?
0
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 19:15
Nope, $result est une ressource, pas un array
0
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
Modifié par ktm620enduro le 22/09/2010 à 19:23
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
Apatik Messages postés 5304 Date d'inscription mercredi 28 janvier 2009 Statut Contributeur Dernière intervention 29 mai 2016 782
22 sept. 2010 à 19:41
Sinon ça fait un bout de temps que le sujet est résolu =)
0
ktm620enduro Messages postés 293 Date d'inscription mardi 21 septembre 2010 Statut Membre Dernière intervention 12 mars 2013 38
22 sept. 2010 à 19:52
lol effectivement mais c'est pour l'aider... c
0
Merci à tous pour votre aide (ça marche)

Bonne soirée !
0