pb d'affichage de donnees sur requette select count

le_coyote
Invité n'ayant pas de compte PHPfrance

04 mars 2005, 17:35

bonjour, voici mon code:

<?php
$sql= "SELECT COUNT(modele) AS nb FROM car WHERE modele = 'bmw";

$req = mysql_query ($sql) or die ("la requête ne peut pas etre exécutée");

while($data = mysql_fetch_assoc($req))

echo '.$data['nb'].'
?>

je veux juste compter le nombre de modele bmw dans ma base car et l'afficher mais je me retrouve avec une erreur sur l'affichage.

Avez vous une idée sur mon problème?

Merci pour vos idée car je debut en php et sql.


le coyote

Eléphant du PHP | 334 Messages

04 mars 2005, 17:40

Essaye ça :
<?php
$sql= "SELECT COUNT(modele) FROM car WHERE modele = 'bmw";
$req = mysql_query ($sql) or die ("la requête ne peut pas etre exécutée");
$total = mysql_fetch_row($req);
echo $total[0];
?>

Invité
Invité n'ayant pas de compte PHPfrance

04 mars 2005, 17:57

j'ai ça comme erreur maintenant: Undefined offset: 0

par contre si je mais AS nb dans ma requete et que je met $data5nb]
j'ai ça comme erreur: Use of undefined constant nb - assumed 'nb'
mais après le message d'erreur j'ai mon resultat de correct

:?

Eléphant du PHP | 479 Messages

04 mars 2005, 18:08

C'est parce qu'il faut écrire $data['nb'] et non $data[nb] !

Invité
Invité n'ayant pas de compte PHPfrance

04 mars 2005, 18:11

bien vu, je les avais oublié, je vois que c'est vendredi.

Ak c'est bon pour moi.
Je te remercie pour ton aide

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

04 mars 2005, 19:10

En fait le problème vient de la requête, utilise mysql_error() pour avoir le message d'erreur. En l'occurence, bmw n'est pas entre guillemets, il en manque un à la fin. Il y a également un problème de guillemets au niveau du "echo", le script ne devrait même pas commencer à s'exécuter. Utilise un éditeur avec coloration syntaxique pour éviter ce genre d'erreur. Par ex: mpsoftware.dk/phpdesigner.php
<?php

$sql= "SELECT COUNT(modele) AS nb FROM car WHERE modele = 'bmw'";

$req = mysql_query ($sql) or die ("la requête ne peut pas etre exécutée: " . mysql_error());

if ($data = mysql_fetch_assoc($req))
{
   echo 'nombre: ' . $data['nb'];
}

stan
Invité n'ayant pas de compte PHPfrance

28 mars 2012, 10:47

merci jerem'. ça marche super bien !