Récupérer le résultat d'une requête count en php5

newgame - Modifié par newgame le 17/04/2014 à 11:47
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 1 oct. 2014 à 13:22
Bonjour,
je veux récupérer le résultat d'une requête select count dans une variable php pour ensuite l'utiliser dans un code javascript
voici le code:

{
//Obtain a database connection
$db = JFactory::getDbo();
//Retrieve the shout
$query = $db->getQuery(true)
->select($db->quoteName('count(*)'))
->from($db->quoteName('#__users'))
->where('sendEmail = '. $db->Quote('0'));
//Prepare the query
$db->setQuery($query);
// Load the row.
$result = $db->loadResult();
//Return the Hello
return $result;
}
ne soyez pas surpris du code de connexion à la base car c'est du développement orienté vers CMS
j'attends vos suggestions et merci d'avance

3 réponses

jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
17 avril 2014 à 12:29
Bonjour,


j'attends vos suggestions
Oui.. mais...
-Quelle est la question ?
-Quel est le souci rencontré ?

0
le code que j'ai mis n'affiche rien, voilà le problème
0
jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
17 avril 2014 à 14:24
Le code que tu as mis... n'affiche rien de toutes façons.
Peux tu nous mettre la totalité du code ?
Car là... ton code ressemble à une fonction... mais tu ne nous montres pas comment tu l'appelles ni comment tu t'en sert ensuite.
0
je l'appelle dans un autre fichier

<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<?php

echo "salut ".$result;
?>
0
jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
17 avril 2014 à 15:46
C'est quoi cette syntaxe ?
defined sert normalement à vérifier qu'une CONSTANTE existe... pas à appeller des fonctions...
0
jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
17 avril 2014 à 15:55
Quand au
echo "salut ".$result; 

$result est une variable qui se trouve DANS la fonction. Sa portée se limite donc à elle...

Par contre.. pour utiliser la valeur de retour de ta fonction tu fais un truc du genre :

function test(){
$result = " ceci est un test !!";
retourn $result;
}


$toto = test();
echo " TOTO = ". $toto;

0
jordane45 Messages postés 38135 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 avril 2024 344
17 avril 2014 à 17:50
$db = JFactory::getDBO();
$sql = "
     SELECT COUNT(*) 
       FROM ".$db->nameQuote('#__users')."
     WHERE ".$db->nameQuote('sendEmail')."=".$db->quote('0').";";
$db->setQuery($query);
$count = $db->loadResult();


C'est le genre de choses que tu peux trouver sur du jommla par exemple.
http://docs.joomla.org/J1.5:Accessing_the_database_using_JDatabase

0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 4
Modifié par mpmp93 le 1/10/2014 à 13:26
Bonjour,

Essayez en remplaçant ceci:

           ->select($db->quoteName('count(*)')) 


par ça:

           ->select($db->quoteName('count(1) AS nb'))


à la récupération des infos, le résultat est dans l'alias nb

Ici, lors de la récup des infos:

$count = $db->loadResult();


faites un

var_dump($count);


juste après pour voir le type et contenu de $count....

Si comme je le suppose c'est un tableau associatif, alors il faut faire:

$resultat = $db->loadResult();
$count = $resultat[0]['nb'];


A+


Le présent est un fragment d'éternité coincé entre le passé et le futur
0
Rejoignez-nous