Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: ts404 le le 04-05-2007 a 12:23:56

Titre: Resource id #11
Posté par: ts404 le le 04-05-2007 a 12:23:56

Bonjour,

C'est vraiment la galère les COUNT(*) ... surtout quand on les utilise rarement !

Le code ci-dessous compte le nombre de résultat retourné par mysql puis crée une pagination pour pouvoir naviguer entre les pages (une page = 10 résultat).


J'obtiens une erreur du type "Resource id #11" lorsque j'exécute ce code :
Citation:
$nombre = 10; // Nombre de résultats par page

if ($_GET["limite"] == "")
{
$limite3 = 0;
}
else
{
$limite3 = htmlentities($_GET["limite"]);
$limite3 = ($limite3 * $nombre)-$nombre;
}

// Prépare le compteur de résultats (les variables where sont spécifiées précédemment)
$compte = "SELECT COUNT(*) FROM `annonces` WHERE ".$where["cat"]." ".$where["pieces"]." ".$where["chambres"]." ".$where["ville"]." ".$where["codepostal"]." ".$where["prixmin"]." ".$where["prixmax"]." ".$where["surfacemin"]." ".$where["surfacemax"]." AND `montrer` = 1";

$compter = mysql_query($compte);
$totalr = mysql_fetch_row($compter);
$total = $totalr["0"];

mysql_free_result($compter);



if ($total != "0") {
}

...




/* */
/* */
/* PAGINATION */
/* */
/* */


$limite2 = $limite3;
$nbpages=ceil( $total / $nombre );
if ($nbpages != 1) {

$numeroPages = 1;
$compteurPages = 1;
$limite = 0;

echo "<br />";
echo "<span class=\"pagination\">Page de résultats : ";

// Affichage liste de pages

$pageactuelle = $limite2 / $nombre + 1;


if ($pageactuelle >= 4)
{
$liste .= '<a href="liste.php'.$where2.'limite=1" title="Retourner à la première page"><=</a> ...';
}
for ($i = 1 ; $i <= $nbpages ; $i++)
{
if ($i >= $pageactuelle-4 && $i != $pageactuelle && $i <= $pageactuelle+4)
{
$liste .= '<a href="liste.php'.$where2.'limite='.$i.'">'.$i.'</a> ';
}
elseif($i == $pageactuelle)
{
$liste .= ' <b>['.$i.']</b> ';
}
elseif ($pageactuelle == $nbpages-4 && $i > $pageactuelle)
{
$liste .= '<a href="liste.php'.$where2.'limite='.$i.'">'.$i.'</a> ';
}
}
if ($pageactuelle < $nbpages-4)
{
$liste = substr($liste, 0, -1);
$liste .= '... <a href="liste.php'.$where2.'limite='.$nbpages.'"=></a>';
}

echo $liste;



}


L'erreur s'affiche comme ceci :
Citation:
Page de résultats : Resource id #11 [1] 2 3



Quel est ce type d'erreur ? Pour quelle raison ?
Une recherche sur Google n'a pas donné de résultats probants ....


En tout cas, toute aide sera bienvenue, et je vous en remercie d'avance énormément (ça fait exactement 18 heures que je buggue sur ce problème..)

Titre: Re:Resource id #11
Posté par: oxyde le le 12-05-2007 a 22:05:34

Il faut placer ton résultat de COUNT sous forme de tableau gràce à AS dans la requete MYSQL

$compte = "SELECT COUNT(*) AS compteur FROM `annonces` [...]

$query_count = mysql_query($compte);
$total = $query_count['compteur'];


Essaye comme cela !

@+


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.