Page 1 sur 1

compter des enregistrements

Posté : 09 janv. 2010, 12:06
par cmoi
Bonjour,

ce code :
                  <?php 
    $table = "matable";  
    $nb = mysql_num_rows(mysql_query("SELECT Adhesion FROM $table"));
	echo '<b><font face="Verdana, Arial, Helvetica, sans-serif" size="5" color="#333333">'.$nb.'</font></b>'; 
?>
m'affiche le nombre d'enregistrements total ; c'est normal! Je souhaiterais qu'il m'affiche le nombre d'enregistrements pour lesquels le champ 'adhesion" contient une valeur.

J'ai beau tourner en rond sur tous les sites je ne trouve pas de réponses. Je pensais qu'un WHERE dans le SELECT conviendrait (mais avec quoi derrière ???).

Merci pour votre aide.

Re: compter des enregistrements

Posté : 09 janv. 2010, 12:26
par Cobaye
essai plutot
SELECT count(Adhesion) FROM $table WHERE Adhesion<>'' AND Adhesion NOT NULL

Re: compter des enregistrements

Posté : 09 janv. 2010, 13:10
par cmoi
si tu veux dire
<?php 
    $table = "matable";  
    $nb = mysql_num_rows(mysql_query("SELECT count(Adhesion) FROM $table WHERE Adhesion<>'' AND Adhesion NOT NULL"));
	echo '<b><font face="Verdana, Arial, Helvetica, sans-serif" size="5" color="#333333">'.$nb.'</font></b>'; 
?>
ça ne fonctionne pas.

Re: compter des enregistrements

Posté : 09 janv. 2010, 13:28
par cmoi
ca marche ainsi
                  <?php 
    $table = "matable";  
    $nb = mysql_num_rows(mysql_query("SELECT Adhesion FROM $table WHERE Adhesion<>''"));
	echo '<b><font face="Verdana, Arial, Helvetica, sans-serif" size="5" color="#333333">'.$nb.'</font></b>'; 
?>
Merci.

Re: compter des enregistrements

Posté : 09 janv. 2010, 14:28
par ooflorent
Bonjour, pour des raisons de performance il vaut mieux effectuer un COUNT(*).
Essaie ceci :
<?php

$res = mysql_query("SELECT COUNT(*) AS total FROM matable WHERE Adhesion != ''");
$row = mysql_fetch_array($rew);
$num = $row['total'];

echo '<b><font face="Verdana, Arial, Helvetica, sans-serif" size="5" color="#333333">', $num, '</font></b>';

?>
Je pense qu'il s'agit de la meilleur façon de procéder.

Re: compter des enregistrements

Posté : 09 janv. 2010, 16:51
par dunbar
Bonjour, pour des raisons de performance il vaut mieux effectuer un COUNT(*).
Essaie ceci :
<?php

$res = mysql_query("SELECT COUNT(*) AS total FROM matable WHERE Adhesion != ''");
$row = mysql_fetch_array($res );
$num = $row['total'];

echo '<b><font face="Verdana, Arial, Helvetica, sans-serif" size="5" color="#333333">'. $num. '</font></b>';

?>
Je pense qu'il s'agit de la meilleur façon de procéder.

Re: compter des enregistrements

Posté : 09 janv. 2010, 23:30
par ooflorent
Merci dunbar pour la correction de la faute :roll: