Panniation des résultats d'une recherche

caliche Messages postés 30 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 10 avril 2010 - 24 mai 2009 à 13:36
caliche Messages postés 30 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 10 avril 2010 - 25 mai 2009 à 16:06
Bonjour, j'ai un petit problème pour coder ma panniation dans ma recherche...

J'explique plus clairement peut-être ?
Voilà dans mon menu recherche je voudrais que ma page ne prenne que
4 résultats par page, donc un système de panniation si je me trompe pas
de terme :-)

Mon codage php est ok mais mon soucis c'est de savoir où placer mon code de panniation vu que j'ai des if, else etc..

Dans un code 'normal' (pas de recherche) pas de problème mais là je cale un peu

Voici mon code:



<?php

if (isset($_POST['rechercher']))

{

mysql_connect("localhost", "root", "mysql" );

mysql_select_db("b" );

$q= $_POST['rechercher'];

switch($_POST['choix'])

{

case "commune": $choix = "commune";

break;

case "cp": $choix = "cp";

break;

case "nom": $choix = "nom";

break;

case "type_activite": $choix = "type_activite";

break;

// On vérifie toutes les possibilités, pour ne pas pouvoir chercher dans des champs non autorisés.

}

if ($q == '')

{

echo 'Veuillez entrez votre recherche svp
';

}

else

{

$sql ="SELECT * FROM recherche WHERE $choix LIKE '%$q%'"; // On recherche dans la base séléctionnée

$req=mysql_query($sql) or die(mysql_error());

mysql_close();

echo "

";

while($d=mysql_fetch_assoc($req)){

?>





<?php echo $d['nom']; ?>

<!--fermeture di nom-->



" title="clic pour agrandir" alt="image" />

<!--dermeture div image-->

<!--fermeture div image nom-->





Adresse:





<?php echo $d['adresse'] ?>



<?php echo $d['cp'] ?>

<?php echo $d['commune'] ?>





Tel: <?php echo $d['tel'] ?>

Fax: <?php echo $d['fax'] ?>





E-mail: <?php echo $d['mail'] ?>



<!--fermeture coordonee-->



[# ); return false;"
style ="color:#525253; margin-left: 25px;">Plus d'info]

<!--fermeture sous_descriptif-->



" style= "display:none; border:3px solid #fff; padding: 5px;" >


[<?php echo $d['image2'];
?> " title="clic pour agrandir" alt="image"
/>]

<?php echo $d['texte'];?>



<!--fermeture div image2-->



Horaire


<?php echo $d['horaires'];?>





[<?php echo $d['image3']; ?>
"
title ="clic pour agrandir" alt="image" />]

[<?php echo $d['image4']; ?>
"
title="clic pour agrandir" alt="image" />]

[<?php echo $d['image5']; ?>
"
title="clic pour agrandir" alt="image" />]

[<?php echo $d['image6']; ?>
"
title="clic pour agrandir" alt="image" />]

[<?php echo $d['image7']; ?>
"
title="clic pour agrandir" alt="image" />]



<!--fermeture div image deco-->

<!--fermeture div texte fin-->

<!--fermeture div cadre1-->

<!--fermeture div deco-->

<?php

}

}

}

?>

<!--fermeture div contener-->





Recherche par -->

<!--fermeture div titre recherche-->



<form method="post" action="recherche.php">



<select name="choix">

<option value="commune">Commune</option>

<option value="cp">Code postal</option>

<option value="nom">Nom</option>

<option value="type_activite">Type</option>

</select>
















</form>

<?php echo mysql_num_rows ($req).'résultat trouver'; //affiche le nombre de resulta ?>



<!--fermeture div recherche par-->

Voilà si vous voyez ce que je veux faire (qui est surement pas très compliquer quand on maîtrise ), un petit coups de main serais la bien venue j'avoue

Donc merci d'avance pour vos réponses et à bientôt

3 réponses

TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
24 mai 2009 à 14:09
Salut,

«donc un système de panniation si je me trompe pas de terme :-) »
Pagination plutôt non ? En tout cas «panniation» n'existe pas ^^

Ceci dit, il te suffit d'utiliser la clause LIMIT dans ta requête SQL pour résoudre ton problème. Dans ce cas, un ORDER BY ne serait pas du luxe. bref, je te laisse relire la documentation sur ce sujet ;)

Bref, le but est de récupérer le numéro du premier message a afficher (0 par défaut afin d'être au début) et de ne sélectionner que les X entrées a partir de ce numéro, X étant le nombre d'entrées a afficher (4 dans ton cas).
0
caliche Messages postés 30 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 10 avril 2010
24 mai 2009 à 14:14
Merci à toi pour la correction de pagination et non panniation :-)

Pour le reste je vois ce que je dois faire, je l'ai déjà fait sur des pages 'normale' mais ici je ne voit pas où et comment coder à cause des if , else je sais pas où je dois placer mon code en fait c'est surtout ça mon soucis :-)
0
caliche Messages postés 30 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 10 avril 2010
25 mai 2009 à 16:06
J'ai beau relire le lien que tu me donne, je ne voit rien correspondant à une pagination des résultats d'une recherche :-(

J'ai tester plusieurs codage et je parviens bien à afficher un nombre défini de résultat par page, le problème c'est qu'il me donne les résultats de ma table et ce n'est pas ce que je veux.... je dois afficher un nombre défini de résultats provenant eux-mêmes du résultat d'une recherche via formulaire.

Je coince dure dure là :-(

Quelqu'un à une piste à me proposer?
0
Rejoignez-nous