Affiche résultat d'une requête en php, help

Fermé
lovedirt - 4 janv. 2011 à 16:40
 lovedirt - 6 janv. 2011 à 14:13
Bonjour,

J'ai des enregistrement dans ma table et je souhaite afficher une ligne disant:
"il t a X enregistrements dans la catégorie Y au DATEDUJOURS"

J'ai commencé a écrire ma requête, cependant j'ai un résultat bizarre.

Voici mon code php
				<?php
				$base = mysql_connect ('sql.free.fr', '***', '***');
mysql_select_db ('cadre', $base);

$sql = 'SELECT * FROM cadre';


$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
echo 'Il y a '.$req.' enregistrement(s) dans la catégorie cadre.';
mysql_close ();
?>


Et voici ce qui s'affiche:
Il y a Resource id #2 enregistrement(s) dans la catégorie cadre.


Si quelqu'un peu m'éclairer (aussi pour la formule date!
Merci!
A voir également:

7 réponses

drantd Messages postés 99 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 février 2012 20
4 janv. 2011 à 17:00
Bonjour,
Pour le mysql_query regarde le cours de ccm, je pense que ça devrait t'aider à comprendre comment utiliser la fonction : https://www.commentcamarche.net/contents/784-php-bases-de-donnees

Et de la même manière pour afficher la date il faut utiliser la fonction date() qui est très bien expliquée ici : http://www.php.net/manual/fr/function.date.php
1
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
4 janv. 2011 à 18:11
Salut.

Tu ne peux pas afficher le résultat d'un mysql_query (variable $req) car c'est une ressource. Tu dois l'exploiter avec des fonctions comme mysql_fetch.

Pour compter le nombre d'entrées, tu peux utiliser mysql_num_rows() ou utiliser la fonction SQL COUNT()
1
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
5 janv. 2011 à 22:15
<?php
mysql_connect ('sql.free.fr', '***', '***');
mysql_select_db ('cadre');

$sql = "SELECT COUNT(*) as nb FROM cadre";
$result = mysql_query($sql);

if (!$result) {
   echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
   exit;
}
$row = mysql_fetch_array($result);
$nb = $row['id'];

echo 'Nombre de résultats: '.$nb;

mysql_free_result($result);
mysql_close ();
?>
1
drantd Messages postés 99 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 février 2012 20
6 janv. 2011 à 10:01
Il faut modifier
$nb=row["id"];
par
$nb=row["nb"];

dans le code de avion-f16

Après ça devrait marcher sans problème
1
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 504
6 janv. 2011 à 11:02
Oui, le problème vient de là.
Bête erreur
0

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

Posez votre question
Et bien, après des heures cela ne marche toujours pas :(
				<?php
				$base = mysql_connect ('sql.free.fr', '***', '***');
mysql_select_db (cadre, $base);
$sql = "SELECT count(id) FROM  cadre";

$result = mysql_query($sql);

if (!$result) {
   echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();
   exit;
}

if (mysql_num_rows($result) == 0) {
   echo "Aucune ligne trouvée, rien à afficher.";
   exit;
}

while ($row = mysql_fetch_array($result)) {
   echo $row["id"];
}

mysql_free_result($result);
mysql_close ();
?>


Rien ne s'affiche ;(
Help?
Merci a toi néanmoins
0
Salut avion-f16
Merci de ton aide, mais cela ne marche toujours pas, pareil que moi, la phrase s'affiche mais c'est tout :(
Le nombre d'enregistrement ne s'affiche pas, pourtant j'ai 5 enregistrements dans ma table.
0
Merci, c'est résolu :)

Concernant la date, j'ai utilisé la fonction curdate()

$sql = "SELECT COUNT(*) as nb FROM cadre WHERE date_signature= curdate()";

Et ça marche bien, merci à vous
0