Nombre d'enregistrements d'un résultat de requête

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 : Nombre d'enregistrements d'un résultat de requête

par pingoo » 06 juil. 2005, 23:24

Ok merci je viens de comprendre mon erreur.
Je suis désolé d'avoir mal interpreté mon problème.
Merci pour votre aide et bonne nuit :sleeping:

par Rei Itchido » 06 juil. 2005, 23:14

Eu ben, j'ai pas envie de relire tout le topic pour savoir si tu demandes ça depuis le début (j'en doute quand même lol) mais si tu veux tout afficher, enlève la clause LIMIT tout simplement...

par pingoo » 06 juil. 2005, 23:06

Oui je comprend la fonction mais comment je peux faire pour afficher sur ma page le nombrede résultat total?

par Rei Itchido » 06 juil. 2005, 22:42

Oui logique.

LIMIT fonctionne comme ça :
LIMIT(enregistrement de départ, nb d'enregistrements)
Ton nb d'enregistrements ne devrait pas changer, il restera toujours à 5 pour afficher 5 enregistrements à chaque fois.
Il te faut jouer sur le paramètre "enregistrement de départ".

Donc, ce que tu peux faire c'est un lien vers la 2ème page (qui affichera les 5 derniers enregistrements).
Ton lien pourra ressembler à ca :
<a href="page.php?debut=5>lien</a>

Et sur ta page tu fais LIMIT(".$_GET['debut'].", 5);
Comme ça ta requête te retournera 5 enregistrements à partir du rang 5 (donc les 5 derniers si tu en as 10).

Tu comprends le fonctionnement?

par pingoo » 06 juil. 2005, 22:20

Oui cela me donne le nombre total affiché sur la page.
Mais si j'ais par exemple 10 résultat à afficher et je limite le nombre affichage par page à 5 cela me donne comme résultat 5 sur chaque page et non 10 au total.

par pingoo » 06 juil. 2005, 21:53

Oui cela me donne le nombre total affiché sur la page.
Mais si j'ais par exemple 10 résultat à afficher et je limite le nombre affichage par page à 5 cela me donne comme résultat 5 sur chaque page et non 10 au total.

par pjl » 06 juil. 2005, 20:14

Désolé mais entre ca
Je déja essayé mais cela me renvoye :cry: le nombre de résultat par page et non au total.
et ca :
Ce que je veux c'est que $nb_total soit égal au nombre de résultat suite à la requête $select et non le nombre de résultat ce trouvant dans la base de donnée.
je ne comprends rien.
Tout ce que je sais, c'est que la ligne de code que j'ai mise en valeur va te donner ton $nb_total.

par pingoo » 06 juil. 2005, 18:15

Je déja essayé mais cela me renvoye :cry: le nombre de résultat par page et non au total.

par pjl » 06 juil. 2005, 16:49

Super le tutorial mais je n'y ai pas trouvé de réponce.
Extrait du tuto cité par mere-teresa
$total = mysql_num_rows($result);
Ca ne te convient pas.

par pingoo » 06 juil. 2005, 16:04

Voici le résultat :

Code : Tout sélectionner

SELECT secteur_activite, fonction, lieu, type_de_contrat, id, societe, DATE_FORMAT(date, '%d.%m.%y') date, SUBSTRING(profil_rechercher,1,200) AS profil_rechercher, profil_entreprise, debut, salaire, contact, adresse_societe, web FROM fk_offre_emploi where date ORDER BY 'id' DESC LIMIT 0,1
Merci

par mere-teresa » 06 juil. 2005, 15:59

Fais echo $select à la fin et colle ici le résultat du echo :)

par pingoo » 06 juil. 2005, 15:57

Super le tutorial mais je n'y ai pas trouvé de réponce.
Ce que j'aimerais c'est connaitre le nombre de résultat suivant cette requete :
$secteur_activite= $_GET['1'];
$lieu= $_GET['2'];
$type_de_contrat=$_GET['3'];
$parution=$_GET['4'];
$mots_cle=addslashes($_GET['5']); 
$date1= date("Y-m-d", strtotime("  -1 day"));  // aujourd'hui
$date2= date("Y-m-d", strtotime("  -1 week"));  // 1semaine
$date3= date("Y-m-d", strtotime("  -2 week"));  // 2semaine
$date4= date("Y-m-d", strtotime("  -3 week"));  // 3semaine
$date5= date("Y-m-d", strtotime("  -4 week"));  // 1mois
$tri_date= "ORDER BY 'id' DESC "; //tri par date
$select  = "SELECT secteur_activite, fonction, lieu, type_de_contrat, id, societe,  DATE_FORMAT(date, '%d.%m.%y') date, SUBSTRING(profil_rechercher,1,200) AS profil_rechercher, profil_entreprise, debut, salaire, contact, adresse_societe, web FROM fk_offre_emploi "; 
switch ($parution) {
 case "toutes":
 	$select .= "where date ";break;
 case "aujourdhui":
 	$select .= "where date > '". $date1 ."' ";break;
 case "1semaine":
 	$select .= "where date > '". $date2 ."' ";break;
 case "2semaines":
 	$select .= "where date > '". $date3 ."' ";break;
 case "3semaines":
 	$select .= "where date > '". $date4 ."' ";break;
 case "1mois":
 	$select .= "where date > '". $date5 ."' ";break;
	}
if ($mots_cle != "") {
 	$select .= "AND (secteur_activite LIKE '%". $mots_cle ."%' OR fonction LIKE '%". $mots_cle ."%' OR societe LIKE '%". $mots_cle ."%' OR profil_rechercher LIKE '%". $mots_cle ."%' OR profil_entreprise LIKE '%". $mots_cle ."%' OR reference LIKE '%". $mots_cle ."%' OR lieu LIKE '%". $mots_cle ."%' OR debut LIKE '%". $mots_cle ."%' OR salaire LIKE '%". $mots_cle ."%' OR contact LIKE '%". $mots_cle ."%' OR adresse_societe LIKE '%". $mots_cle ."%' OR type_de_contrat LIKE '%". $mots_cle ."%') ";
	}
if ($secteur_activite != "indifférent")  {
    $select .= "AND secteur_activite LIKE '". $secteur_activite ."%' "; 
}
if ($secteur_activite != "indifférent" && $mots_cle != "")  {
    $select .= "AND secteur_activite LIKE '". $secteur_activite ."%' "; 
}
if ($lieu != "indifférent") {
   	$select .= "GROUP BY lieu, type_de_contrat, date HAVING lieu='". $lieu ."' ";
	}
if ($type_de_contrat != "indifferent" && $lieu == "indifférent") {
 	$select .= "AND type_de_contrat LIKE '". $type_de_contrat ."' ";
	}
if ($type_de_contrat != "indifferent") {
 	$select .= "AND type_de_contrat='". $type_de_contrat ."' ";
	}
if ($type_de_contrat != "indifferent" || $lieu != "indifférent" || $secteur_activite != "indifférent" || $parution != "toutes" || $mots_cle != "") {
 	$select .= " $tri_date ";
	}
if ($type_de_contrat == "indifferent" && $lieu == "indifférent" && $secteur_activite == "indifférent" && $parution == "toutes" && $mots_cle == "") {
 	$select .= " $tri_date ";
	}
JE ne trouve vraiment pas. Si quelqu'un a une solution.. :cry:

par pingoo » 06 juil. 2005, 15:19

Ok merci j'y vais

par mere-teresa » 06 juil. 2005, 15:10

Mon probleme est que ma requete SELECT COUNT(*) me donne le résultat total de ma table et calcul en fonction le nombre de page.
Je ne sais comment faire le lien entre le résultat de la requete et l'affichage.
Fais un tour sur PHPDebutant http://phpdebutant.org/article84.php ils ont un tutorial là dessus...à partir de "Notre affichage page par page." (recherche avec CRTL + F ce texte dans la page, si tu veux pas tout lire).

par pjl » 06 juil. 2005, 15:06

ben encore moins que tout à l'heure.