Fonction qui ne marche pas ^^

Résolu/Fermé
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 30 sept. 2009 à 01:55
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 - 6 oct. 2009 à 16:01
Bonjour,

alors voila, dans le template que j'utilise, je viens de mettre cette fonction qui ne fonctionne pas::
cette fonction est pour afficher le nombre de membres inscrits sur le site^^.

function nbrmembres() {
$retour = mysql_query('SELECT COUNT(*) AS id FROM {{table}}');
$donnees = mysql_fetch_array($retour);
$nbrmembres["nbrmembres"] .= $donnees["nbrmembres"];
}

et je l'appele dans la page par  {{nbrmembres}} membres.
et bien entendu, cela ne fonctionne pas, un membre de ccm aurait la solution, svp???? merci d'avance @+++...
A voir également:

15 réponses

swoog42 Messages postés 1060 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 16 décembre 2018 244
30 sept. 2009 à 02:08
je ferais :

$nbrmembres["nbrmembres"] = 0; //Initialisation de la variable

$nbrmembres["nbrmembres"] += $donnees["nbrmembres"]; //Note le changement du . en +

Sinon le reste m'a l'air pas mal, en espérant que la requète soit bonne (un petit die() n'est jamais de refus des fois ^^)
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
30 sept. 2009 à 02:15
alors, je viens de mettre ceci, ca ne plante pas mais ca n'affiche rien ^^

function nbrmembres() {
$retour = mysql_query("SELECT COUNT(*) AS id FROM {{table}}");
$donnees = mysql_fetch_array($retour);
$nbrmembres["nbrmembres"] = 0;
$nbrmembres["nbrmembres"] += $donnees["nbrmembres"];
}
0
swoog42 Messages postés 1060 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 16 décembre 2018 244
30 sept. 2009 à 02:24
mince... j'avais lu connectés et non pas inscrits...
Essaye ca pour voir :


function nbrmembres() {
$retour = mysql_query("SELECT COUNT(*) AS id FROM {{table}}") or die(mysql_error());;
$nbrmembres= mysql_num_rows($retour);
echo $nbrmembres
}
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
30 sept. 2009 à 02:33
jai mis ce ci et pareil rien ne s'affiche::
function nbrmembres() {
$retour = mysql_query("SELECT COUNT(*) AS id FROM {{table}}") or die(mysql_error());
$nbrmembres= mysql_num_rows($retour);
echo $nbrmembres;
}
0

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

Posez votre question
swoog42 Messages postés 1060 Date d'inscription mercredi 30 septembre 2009 Statut Membre Dernière intervention 16 décembre 2018 244
30 sept. 2009 à 02:37
3 solutions :
Soit il t'affiche un nombre, et on est bon (ce n'est pas le cas ici)
Soit il t'affiche une erreur de type SQL(ce n'est pas le cas non plus)
Soit, si ta requète est bonne, le champ que tu recherches est vide.


Je ne vois pas d'autres solutions.
Désolé
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
30 sept. 2009 à 10:25
bah, toujours pas :(
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
30 sept. 2009 à 11:52
re,
je viens de tester cela , c pareil, ca marche pas non plus
function nbrmembres() {
$retour = mysql_query("SELECT COUNT(*) AS username FROM {{table}}") or die(mysql_error());
$nbrmembres= mysql_num_rows($retour);
}
j'ai mis username, ce qui est le pseudo dans la base a la place du champ id
merci.......
0
Bonjour

Je ne comprends pas ta démarche.Dans ta version initiale tu donnes un alias "id" mais tu essayes d'appeler le champ "nbrmembres" de la réponse. Il faudrait être cohérent...

function nbrmembres() {
$retour = mysql_query('SELECT COUNT(*) AS nbrmembres FROM {{table}}');
$donnees = mysql_fetch_array($retour);
$nbrmembres["nbrmembres"] = $donnees["<code>nbrmembres
"];
} </code>
0
petit problème de balise + il faut un echo

function nbrmembres() {
$retour = mysql_query('SELECT COUNT(*) AS nbrmembres FROM {{table}}');
$donnees = mysql_fetch_array($retour);
echo $donnees["nbrmembres"];
}
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
30 sept. 2009 à 12:09
On peux appeler une fonction avec {{fonction}} ??
Une alternative à fonction() ?
Essai à tout hasard:
echo nbrmembres().' membres';


A priori si tu utilise mysql_num_rows(), il ne faut pas mettre de count dans la requète. Sinon, utilise mysql_fetch_array().
Pour faire un calcul je fais ça:
function nbrmembres() {
     $sql='SELECT COUNT(*) FROM table';
     $req= mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     $nbrmembres = mysql_fetch_array($req);
     echo $nbrmembres[0];
}
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
30 sept. 2009 à 12:22
je teste, je teste ^^
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
30 sept. 2009 à 12:30
et ben, y a pas moyen d'y faire afficher :( bon sang de bon sang....
( c'est dans un template que je note ce script)
voila ce que j'ai testé donc
function nbrmembres() {
$retour = mysql_query('SELECT COUNT(*) AS id FROM {{table}}');
$donnees = mysql_fetch_array($retour);
echo $donnees["nbrmembres"];
}
et pour afficher:: j'ai essayé::{$nbrmembres},$nbrmembres,{nbrmembres},{{$nbrmembres}} et rien du tout ne s'affiche a chaque fois :(
dla pasdchance comme dab ^^
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
30 sept. 2009 à 12:37
je ne peux pas mettre de echo sur la page car comme c un template, la page commence par php mais ensuite il y a ceci
<?php
$template = <<<THEVERYENDOFYOU
et ensuite le script passe en html jusqu'a finir par
THEVERYENDOFYOU;
?>
et si je ferme la balise php pour en rouvrir une et mettre un echo, ca plante la page :( .......
et pourtant dans cette page, cerataines fonctions sont apelees mais comme cela :::
Actuellement: {{currentaction}}<br />
Latitude: {{latitude}}<br />
Longitude: {{longitude}}<br />
et ca ca marche nikel :)
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
30 sept. 2009 à 13:02
COUNT(*) utilisé avec mysql_fetch_array() tu dois mettre la variable du résultat avec [0].

Exemple:
$nbrmembres = mysql_fetch_array($req);

Le résultat s'affiche avec $nbrmembres[0].
Ne pas oublier le [0].

Le mieu serai de voir comment sont utiliser les autres fonction pour afficher le résultat.
Tu peux essayer à tout hasard:
return $nbrmembres[0];

au lieu du echo
0
cheese42 Messages postés 860 Date d'inscription mardi 11 septembre 2007 Statut Membre Dernière intervention 10 octobre 2018 120
6 oct. 2009 à 16:01
re, et merci aux membres qui m'ont repondu pour venir en aide, le probleme est resolu, je le note ici au cas si ca peut servir a un membre qui utilise les templates^^

alors sur une page qu'on nommera membresinscrits.php
<?php
se connecter sur une page style connexion.php et mettr ici include("config.php");
$query = doquery ("SELECT COUNT(*) AS nombre FROM votretable");
$nbrmembres = mysql_fetch_array($query);
echo "".$nbrmembres['nombre']."";
?>

et sur la page que l'on veut apeler ceci :
  $membresinscrits  membres.

Pour mon site, ce script fonctionne, voila, merci a tous^^ @++++++++....
0