[SQL] Fonction Count

Bonsoir à tous,

voilà j’ai confectionné un annuaire d’anciens étudiants pour celà j’ai mis au point une base de données. Le formulaire d’inscription fonctionne bien et je n’ai pas de problème de ce côté.

Cependant, je souhaiterai rajouter le nombre d’inscrit dans l’annuaire. Pour celà voici ce que j’ai fait en utilisant la fonction count() :


<html>
<head>
<title>Consulter l'Annuaire Des Anciens Etudiants</title>
</head>
<body>

<?php

// Paramètres de connexion
$host="secret";
$user="secret";
$password="secret"; 
$bdd="annuaire_1";
$mon_lien_sql = mysql_connect($host,$user,$password);

// On se connecte à la Base De Donnees sur laquelle on veux travailler
mysql_select_db($bdd,$mon_lien_sql); 

// On lance une requete SQL sur la table
$query = "SELECT COUNT(id) FROM annuaire_1;"

// On recupere le resultat de la requete SQL $query
$mon_resultat_sql = mysql_query($query,$mon_lien_sql);

// Il n'y a plus qu'à demander des résultats, ils sont sortis de la BDD
// si jamais il y a une erreur mieux vaut savoir quoi
$mon_resultat_sql = mysql_query( $query ) or die ( 'Erreur dans la requête : ' . $query . '<br>Avec l\'erreur : ' . mysql_error() );

// On envoie tout ça
echo $query;

// deconnexion de la base de donnees
mysql_close($mon_lien_sql);

?>

Voici l’erreur que j’obtient

Parse error: parse error, unexpected T_VARIABLE in /var/www/free.fr/e/e/***/annuaire-.php on line 23

A l’aide :ange:

Les erreurs PHP sont tout ce qu’il y a de plus compréhensibles. Va à la lire 23 genre :

[cpp]$mon_resultat_sql = mysql_query($query,$mon_lien_sql);[/cpp]

Et tu lis l’erreur : il te dit qu’il est tombé sur un T_VARIABLE inattendu.

Moralité? tu reviens juste avant ce T_VARIABLE (une variable en gros) :

[cpp]20# $query = “SELECT COUNT(id) FROM annuaire_1;”
21#
22# // On recupere le resultat de la requete SQL $query
23# $mon_resultat_sql = mysql_query($query,$mon_lien_sql);
[/cpp]

Tu supprimes la ligne 22, car c’est des commentaires.
Tu supprimes la ligne 21, car c’est que des blancs (ie: espaces, etc)
Tu lis la ligne 20 par la fin :

Et que te manque-t’il à ton avis?

Simple: un ;.

En l’oubliant, php a cherché à le lire et est tombé simplement sur un T_VARIABLE, d’où l’inattendu, d’où l’erreur. CQFD.

Les gens qui font du php, et de la programmation, devrait vraiment faire de la traduction, et utiliser bison :smiley:

Alors là, je m’incline devant ta sagesse, j’avoue que tu es très fort ! :jap:

Cependant, j’ai en vérité 50 enregistrements, et celà m’affiche :

Resource id #3

Il y a un problème quelque part non ? Les id vont de 10 à 98, sachant qu’il y a des “trous”, si tu vois ce que je veux dire. Par exemple : les premiers id sont 10, 30, 34, 37 jusqu’à 98 avec un total de 50 (et oui j’ai du effacé pas mal d’id au départ !) :sarcastic:
J’ai entendu parler aussi de cette fonction :

mysql_num_rows( $result );

Mais je suis un débutant je ne sais même pas comment m’en servir ! [:banco10]
C’est quoi bison ? [:pasla]

Une ressource est une ressource. C’est juste une référence vers quelque chose que tu ne peux pas manipuler sans un outil , essaye ça après la ligne 27.

[cpp]print ‘

’;
while ( $result = mysql_fetch_assoc($mon_resultat_sql))
print htmlspecialchars(print_r($result,true))
print ‘
’;[/cpp]

Par contre tu fais deux fois ta requête, mais ça…