Compter champ

tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007 - 19 déc. 2005 à 22:36
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 21 déc. 2005 à 17:31
salut , je connais sql mais je débute en php


je voudrais compter le nombre de produits dans la table produits et l'afficher.là ça ne marche pas





<?php


mysql_select_db($database_conn, $conn);


$result = mysql_query("select count * as sumproduits FROM produits") ;


$i = mysql_fetch_array($result);


echo $i['sumproduits'];


?>





merci

22 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 déc. 2005 à 23:01
Salut,

il t'affiche quoi comme message ?

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
19 déc. 2005 à 23:01
tu devrais plutôt faire
$resultat = mysql_query("select * FROM produits") ;
$nb =
mysql_num_rows($result);

echo $nb;

de cette façon, tu vas avoir le nb d'enregistrements dans ta table

Jonathan
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
19 déc. 2005 à 23:07
$sql = 'SELECT COUNT(*) FROM produits';

$q = mysql_query($sql);
$data = mysql_fetch_row($q);
echo $data[0];
0
cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
19 déc. 2005 à 23:09
$nb =
mysql_num_rows($resultat);  et non 
$nb =
mysql_num_rows($result);


Jonathan
0

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

Posez votre question
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
20 déc. 2005 à 07:19
merci les gars

pour le premier script

Warning: mysql_num_rows(): supplied argument is not a valid MySQL
result resource in /var/www/sdb/6/9/sandro.c/produits.php on line 10



$sql = 'SELECT COUNT(*) FROM produits';

$q = mysql_query($sql);

$data = mysql_fetch_row($q);

echo $data[0];



marche



pourquoi apres count pas de "as" alors que je le croyais obligatoire

et $data[0] ? à quoi correspond le [0] ?

merci
0
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
20 déc. 2005 à 08:05
par contre ne marche quand

$sql 'SELECT COUNT(*) FROM produits WHERE categorie_produit %s';

$q = mysql_query($sql);

$data = mysql_fetch_row($q);

echo $data[0];

?>



Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/sdb/6/9/sandro.c/listing_produits.php on line 14

merci
0
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
20 déc. 2005 à 08:14
c'est pas mysql_fetch_assoc mais mysql_fetch_row en erreur
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
20 déc. 2005 à 09:12
Hello,

parce que % s'utilise avec des chaînes, et la clause LIKE. Si categorie_produit est une chaine, alors de toutes façons, tu as besoin d'apostrophes. Et de LIKE si tu veux faire une recherche "approximative".
Le as n'est pas obligatoire, non; il assigne juste à ton COUNT(*) un nom, que tu peux réutiliser ensuite.
Quant à num_rows, cela fonctionne très bien, l'erreur ne venait pas de là, mais de ta requête.
0
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
20 déc. 2005 à 09:35
categorie_produit est un integer



$sql sprintf('SELECT COUNT(*) FROM produits WHERE categorie_produit %s');

$q = mysql_query($sql);

$data = mysql_fetch_row($q);

echo $data[0];

Warning : sprintf(): Too few arguments in /var/www/sdb/6/9/sandro.c/listing_produits.php on line 13





Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/www/sdb/6/9/sandro.c/listing_produits.php on line 15

donc comment faire à part remplacer % s par "13" par exemple mais je ne peux le faire avec id_categorie(id champ des catégories) =categorie_produit (intéger de la sous rubrique catégories)

merci

0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 déc. 2005 à 11:37
Salut, déja, mettons le mode debug : OR DIE !!!


$sql sprintf('SELECT COUNT(*) FROM produits WHERE categorie_produit %s');

$q = mysql_query($sql) or die(mysql_error());

$data = mysql_fetch_row($q);

echo $data[0];



ça permetra d'y voir plus claire...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
20 déc. 2005 à 13:09
ça donne ça

Warning: sprintf(): Too few arguments in /var/www/sdb/6/9/sandro.c/listing_produits.php on line 12


Query was empty
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
20 déc. 2005 à 13:14
Salut,
il te manque un argument à sprintf, le %s doit être remplacé
par le second argument de sprintf, or il n'a pas de second argument..

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
20 déc. 2005 à 21:26
C'est les bases de PHP à revoir la ...

" pourquoi apres count pas de "as" alors que je le croyais obligatoire" c'est pour donner un nom de variable à une valeur de récupération SQL !

" et $data[0] ? à quoi correspond le [0] ?" Voir doc PHP sur la fonction fetch_row(); ==> 0 est l'index numérique du tableau $data qui contient les valeurs récupérées via ta query.

Regarde aussi la fonction sprintf(); bien qu'elle ne serve à rien ici.
0
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
21 déc. 2005 à 00:31
merci pour le AS , je pensais que c'était obligatoire apres count pour donner un nom à ceux qui va récupérer la valeur.



sinon , ça ne règle pas le probleme d'un comptage de produits d'une sous rubrique



n'y a t il pas script tout pret de gestion d'article avec des rubriques
et sous rubriques, affichage de tous les produits en colonne et
possibilité de joindre une photo

merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 déc. 2005 à 10:13
$categorie = 3;$requete mysql_query ('SELECT PROD_ID, PROD_DESIGNATION, PROD_CEQUETUVEUX FROM PRODUITS WHERE CAT_ID '.$categorie);
$nbProd = mysql_num_rows ($requete);

là, t'as ton décompte, et t'as récupéré les infos pour les afficher :

while ($res = mysql_fetch_assoc ($requete)) {
//echo mes produits pour la catégorie 3
}
0
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
21 déc. 2005 à 15:46
merci mais le probleme est de récupérer la valeur de la variable cat mais ceci ne marche pas :

?page=listing_produits&cat=





$_GET['cat'] = $id

$sql = 'SELECT COUNT (*) FROM produits where categorie_produit= $id';

$q = mysql_query($sql);

$data = mysql_fetch_row($q);

echo $data[0];
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 déc. 2005 à 16:49
T'as mal lu ma requête.$sql 'SELECT COUNT (*) FROM produits where categorie_produit '.$id;
0
tomm123456 Messages postés 52 Date d'inscription jeudi 8 décembre 2005 Statut Membre Dernière intervention 11 avril 2007
21 déc. 2005 à 17:03
Parse error: parse error, unexpected T_VARIABLE in /var/www/sdb/6/9/sandro.c/listing_produits.php on line 13



ligne 13 $sql 'SELECT COUNT (*) FROM produits where categorie_produit '.$id;
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 déc. 2005 à 17:16
Salut,


$_GET['cat'] = $id
;

$sql = 'SELECT COUNT (*) FROM produits where categorie_produit= $id';




tu t'es planté de ligne....

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 déc. 2005 à 17:18
Heu oui ben l'erreur est juste au-dessus de ta ligne 13, à mon avis. Parceque cette syntaxe ne peut pas te donner cette erreur.
Donne donc les qques lignes avant et qques lignes après.
0
Rejoignez-nous