View Full Version : Compter des lignes dans une table !
bastien
1 juillet 2004, 17h44
Hello tous !
Dans ma quête de l'apprentissage de mysql, je cherche à compter le nombre de lignes dans une table, et bien evidemment afficher ce résultat !
Voici donc ce que j'ai fais, mais je suis sur qu'il fdoit manquer un petit quelques chose pour que ça marche !!!! :D
Merci ;)
require("confmysql.php");
$mysql_link = mysql_connect("$sql_serveur", "$sql_user", "$sql_password");
$requete = "SELECT COUNT(id) FROM $sql_table WHERE etat = occaz";
$result = mysql_db_query("$sql_bdd", $requete);
mysql_close($mysql_link);
echo "$result voiture(s)";
Spycam
1 juillet 2004, 18h02
require("confmysql.php");
$mysql_link = mysql_connect("$sql_serveur", "$sql_user", "$sql_password");
$requete = "SELECT COUNT(id) FROM $sql_table WHERE etat = occaz";
$result = mysql_db_query("$sql_bdd", $requete);
mysql_close($mysql_link);
echo "$result voiture(s)";
Je ferais çà :
require("confmysql.php");
$mysql_link = mysql_connect("$sql_serveur", "$sql_user", "$sql_password");
$requete = "SELECT * FROM $sql_table WHERE etat = 'occaz'";
$result = mysql_query($requete);
mysql_close($mysql_link);
$voiture=mysql_num_fields($result);
echo ($voiture." voiture(s)");
ou alors çà ( + lourd ) :
require("confmysql.php");
$mysql_link = mysql_connect("$sql_serveur", "$sql_user", "$sql_password");
$requete = "SELECT * FROM $sql_table WHERE etat = 'occaz'";
$result = mysql_query($requete);
mysql_close($mysql_link);
$voiture=0;
while(mysql_fetch_array($result) ==TRUE)
{ $voiture++; }
echo ($voiture." voiture(s)");
C'est à tester...
Benjy
1 juillet 2004, 18h12
Essaye ça...
require("confmysql.php");
$mysql_link = mysql_connect($sql_serveur, $sql_user, $sql_password);
$requete = "SELECT COUNT(id) AS total FROM " . $sql_table . " WHERE etat = occaz";
$result = mysql_query($requete);
$occaz = mysql_fetch_array($result);
mysql_free_result($result);
mysql_close($mysql_link);
echo $occaz['total']" . voiture(s)";
Sinon, il faut utiliser mysql_query plutôt que mysql_db_query...
fonji
1 juillet 2004, 18h23
Yep je vote pour la solution de Benjy. Si tu veux pas mettre un AS, alors utilise $result[1].
bastien
1 juillet 2004, 19h40
Alors avec la soluce de Spycam j'ai droit à:
Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in D:\sites\dev\autodif\v_occaz.inc.php on line 9
voiture(s)
Soit $voiture=mysql_num_fields($result);
Et pour Benjy,
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in D:\sites\dev\autodif\v_occaz.inc.php on line 11
Soit echo $occaz['total']" . voiture(s)";
Donc j'ai mis echo $occaz['total']." voiture(s)";
Mais là Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\sites\dev\autodif\v_occaz.inc.php on line 8
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in D:\sites\dev\autodif\v_occaz.inc.php on line 9
voiture(s) Soit $occaz = mysql_fetch_array($result);
mysql_free_result($result);
help ! :(
SantX
1 juillet 2004, 21h58
require("confmysql.php");
$mysql_link = mysql_connect($sql_serveur, $sql_user, $sql_password);
$query = mysql_query("SELECT COUNT(id) AS total FROM $sql_table WHERE etat='occaz'");
$occaz = mysql_fetch_array($query);
echo $occaz['total']." voiture(s)";
mysql_free_result($query);
mysql_close($mysql_link);
Moi je testerai ça ;) !
bastien
1 juillet 2004, 22h18
Merci SantX !
J'ai pas testé car un ami m'a dépatouillé entretemps !
Voici le code, si jamais il peut servir à qulqu'un ;o)
<?
$sql_serveur = 'localhost';
$sql_user = 'root';
$sql_password = '';
$db2 = 'basezyk';
$sql_table = 'voitures';
// connection à la DB
$db = mysql_connect($sql_serveur, $sql_user, $sql_password) or die
('Erreur : '.mysql_error() );
mysql_select_db($db2) or die ('Erreur :'.mysql_error());
$query = "SELECT id FROM voitures WHERE etat='occaz'";
$result = mysql_query($query, $db) or die ("Requête invalide");
$count = mysql_num_rows($result);
mysql_close($db);
echo $count." voiture(s)";
?>
Et merci à vous de m'avoir aidé ;o)
Benjy
1 juillet 2004, 23h37
require("confmysql.php");
$mysql_link = mysql_connect($sql_serveur, $sql_user, $sql_password);
$query = mysql_query("SELECT COUNT(id) AS total FROM $sql_table WHERE etat='occaz'");
$occaz = mysql_fetch_array($query);
echo $occaz['total']." voiture(s)";
mysql_free_result($query);
mysql_close($mysql_link);
Moi je testerai ça ;) !
Oui bon j'ai inversé " et . :p
Ca arrive quand on code toute la journée ;)
schatzita
23 juillet 2004, 16h47
Bonjour!
Une autre solution, que j'ai utilisée dans un programme. Elle n'est pas top top, mais j'ai pas pu faire marcher autre chose!
$query = 'SELECT COUNT(*) FROM voitures';
$result = mysql_query($query);
$nombre_voitures = mysql_fetch_array($rq);
/* la requete retourne un nombre. Mysql_fetch_array prend ce resultat et le met en premier élément d'une table, donc pour l'imprimer.....*/
echo $nombre_voitures[0];
voilà! en espérant que cela puisse aider quelqu'un
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.