Bonjour,
je travaille sur site qui doit faire une recherche ds une bdd Mysql et affiche les résultats.
Ma page index doit toujours inclure la page de recherche. Et selon les clics de l'user, elle affiche les autres pages dans un div à droite qui contient le résultats des pages appelées. (et le div de gauche inclut la page de recherche, comme déjà dit).
Je voudrais que une fois qu'on lance une recherche (ie dans le formulaire de recherche de la page "recherche.php" de gauche), s'affichent les résultats dans le div de droite. Jusque là il le fait très bien, sauf que je souhaite faire un affichage PAGE par PAGE.
Une fois qu'il m'affiche pour la 1ère fois les résultats avec un lien "suivant" qui apparait, si je clique sur suivant, j'appelle ma page index.php?pg=0&page=resultats_recherche.
Sauf que la page index va inclure de nouveau la page recherche et le formulaire se réinitialise donc, du coup je perds mes sélections et après le clic sur "suivant" , toute la bdd s'affiche!!
j'ai pensé à utiliser javascript et créer des champs hidden ds la page résultats_recherche, ensuite je demande à JS de mettre les valeurs des champs du formulaire égales aux valeurs des champs cachés et dont la valeur est "_POST[nomchamps]" récupéré du formulaire. Là encore, après le clic sur suivant, le "_POST[nomchamps]" car la page recherche serait rechargée de nouveau et le formulaire actualisé.
Et le meme pb se poserait avec les variables de session pareil qu'avec les champs cachés.
une autre méthode consiste à stocker les variables ds l'url, mais je ne pourrais pas le faire car j'ai énormément de champs à stocker.
Voici un bout de code de mes pages:
recherche.php:
resultat_recherche.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if (isset($_POST['nom'])) $nom = $_POST['nom']; else $nom = NULL; if (isset($_POST['prenom'])) $prenom= $_POST['prenom']; else $prenom= NULL; <input name="find" type="submit" value="Go" />
index.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if(isset($_POST['nom'])) $nom=$_POST['nom']; else $nom=""; if(isset($_POST['prenom'])) $prenom=$_POST['prenom']; else $prenom=""; if ($pg < $max_pg) { <a href="<?php printf("%s?pg=%d%s", $currentPage, min($max_pg, $pg + 1), $req_enregistrement); ?>">Suivant</a> <? } ?>
Merci pour tte aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <div class="gauche"><img src="..." /> <?php include('recherche.php'); ?> </div> <div id="droit"> <?php //Tableau contenant les pages autorisées $pageAUT = array('resultats' => 'resultats.php',...); if ( (isset($_GET['page'])) && (isset($pageAUT[$_GET['page']])) ) include($pageAUT[$_GET['page']]); else include('page_accueil.php'); ?> </div>
Partager