Afficher le nombre de resultat d'une requete

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher le nombre de resultat d'une requete

par zeus » 03 juin 2005, 09:19

Clair, mais comme avec mysql_result(), on donne une position et non pas un nom de colonne, c'est pas obligatoire ...

Mais pour les bonnes règles de codage, c'est très conseillé

par fab » 02 juin 2005, 19:28

si tu utilises count() utilise le avec AS
exemple
sql > SELECT count(*) AS total FROM table


c'est toujours plus pratique apres pour récuperer le résultat qui du coup s'appelera total

par castelli » 02 juin 2005, 11:59

oui le count () passe avec le LIMIT
sinon je vais essayer d'zeus merci

par Cyrano » 02 juin 2005, 11:58

par mere-teresa » 02 juin 2005, 11:53

As-tu essayé en ajoutant une colonne count() dans ta requete ? Est-ce que ça passe même avec le LIMIT ?

par zeus » 02 juin 2005, 11:47

Dans ta requete SQL, soit tu ne met pas le "LIMIT x,20" soit tu enlève la clause WHERE qui limite à 20 affichage et tu devrais avoir le nombre de résultats total ...

par castelli » 02 juin 2005, 11:28

En faite j'aimerais calculer le nombre de resultat pour ma requete mais celle ci est sur plusieur page ..

le echo $nb; me donne la valeur de 20 alors que c'est justement la limite de resultat que j'affiche par page : /

donc jaimerai savoir comment faire pour qu'il calcule le nombre de resultat toutes les pages comprises

par zeus » 02 juin 2005, 11:15

Il y a 2 méthodes :

- si tu veux juste afficher le nombre de résultats sans les utiliser, tu fait :
$str_requete = "SELECT COUNT(*) FROM FROM produit2";
$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() ); 
$nb = mysql_result($result, 0, 0);
echo $nb
C'est la méthode la plus rapide pour le serveur

par contre,

- si tu veux afficher le nombre de résultats puis utiliser ces résultats,
$str_requete = "SELECT * FROM FROM produit2";
$result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() ); 
$nb = mysql_num_rows($result);
echo $nb
C'est plus long a exécuter mais tu peux utiliser les résultats retournés sans avoir à refaire une requete SQL

par castelli » 02 juin 2005, 11:08

a mince j'oublié de dire ce qu'etait la variable $total

$total = $row[0];

Afficher le nombre de resultat d'une requete

par castelli » 02 juin 2005, 11:02

Bonjour vous tous , j'effectue une recherche sur ma base de données et j'aimerais afficher le nombre de resultat de cette requete hors j'ai essailler la commande

echo $total;
mais sa me donne le nombre de tout les produits contenus dans ma base de données
hors j'aimerais le nombres de ceux qui correspondent a ma requete..

je copie ma requete:

Code : Tout sélectionner

$select="SELECT nom,formule,reference,disponibilite,localisation,quantite,numero_cass FROM produit2"; if (isset($_POST['methode']) && $_POST['methode'] == $var1){ $select .= " WHERE ".$_POST['methode']." LIKE '%".$_POST['motsclef']."%'"; } if (isset($_POST['methode']) && $_POST['methode'] == $var3){ $select .= " WHERE ".$_POST['methode']." LIKE '%".$_POST['motsclef']."%'"; } if (isset($_POST['methode']) && $_POST['methode'] == $var2){ $select .= " WHERE ".$_POST['methode']." = ".$_POST['motsclef'].""; } if (isset($_POST['methode']) && $_POST['methode'] == $var4){ $select .= " WHERE ".$_POST['methode']." = ".$_POST['motsclef'].""; } $select .= " ORDER BY nom"; $select .= " ASC limit ".$limite.','.$nombre; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
(en gros jarrive pas a faire la variable qui correspond au nombre de resultat de ma requete )
merci