PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005
-
7 août 2005 à 15:47
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005
-
17 août 2005 à 19:46
Bonjour a tous
Voila je viens chercher un peu d'aide, car je suis debutant et apres avoir fouille le site et le forum j'arrive toujours pas a me depatouiller de mon probleme.
Donc ca vas etre un peu long mais je vais essayer de tout expliquer et d'etre le plus claire possible.
J'ai une base de donnee avec plusieur champs que j'affiche dans un tableau....jusque la aucun probleme....Pour un meilleur affichage je decide donc de decouper tout cela page par page avec 4 lignes par page et un petit "suivant" "precedent" pour changer de page....impecable tout fonctionne.
Du coup j'y ajoute une fonction recherche....la aucun probleme ca marche impecable aussi temps que j'affiche tout les resultats sur une seule page....
du coup a ce stade je decide de faire le meme affichage (page par page avec 4resultats par page) comme j'avais fait au dessu....
Mais la le probleme c'est que la recherche marche bien, il m'indique le bon nombre de resultat, affiche bien les 4premier, mais quand je clic sur "suivant" il me donne bien le nombre de resultat mais les affiches pas dans le tableau et si je fais un retour la aussi y a erreur je reviens pas sur ma page de resultat.....
Donc je pense pas que mon code soit totalement faux, mais simplement qu'il y a un truc que j'ai zappe ou qui me depasse.....
Donc si quelqu'un a la solution ou une idée de la chose....en sachant que je suis vraiment Debutant....
MERCI a Tous.....
$colname_INFOSresultat = "0";
if (isset($_POST['recherche'])) {
$colname_INFOSresultat = (get_magic_quotes_gpc()) ? $_POST['recherche'] : addslashes($_POST['recherche']);
}
mysql_select_db($database_infos, $infos);
$query_INFOSresultat = sprintf("SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos WHERE DEPARTEMENT LIKE '%%%s%%' OR LIEUX LIKE '%%%s%%' OR style LIKE '%%%s%%' OR description LIKE '%%%s%%' OR details LIKE '%%%s%%'", $colname_INFOSresultat,$colname_INFOSresultat,$colname_INFOSresultat,$colname_INFOSresultat,$colname_INFOSresultat);
$query_limit_INFOSresultat = sprintf("%s LIMIT %d, %d", $query_INFOSresultat, $startRow_INFOSresultat, $maxRows_INFOSresultat);
$INFOSresultat = mysql_query($query_limit_INFOSresultat, $infos) or die(mysql_error());
$row_INFOSresultat = mysql_fetch_assoc($INFOSresultat);
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 10 août 2005 à 18:59
mince le message etait pas entier...
Donc je te disais que ct juste un moteur de recherche simple dans une base de donne....et que je voulais avoir le resultat sous forme de tableau 4 ligne par page.....et non me retrouver avec 50resultats sur une seule page....
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 10 août 2005 à 19:08
Vi je suppose mais vu ta reponse j'ai eu un doute....ou peut etre j'ai pas saisi la chose....
Fo dire que la je rame complet.....le cerveau ne suis plus....
Si tu veux mon MSN ca sera peut etre plus simple que sur le forum....
Par contre si on arrive au resultat voulu bas le script v le partager ca aidera peut etre d'autre personne....
$resrecherche = mysql_query($query_limit_resrecherche, $infos) or die(mysql_error());
l'affichage était :
query_limit_resrecherche : SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos WHERE DEPARTEMENT LIKE '%*%' or LIEUX LIKE '%*%' or style LIKE '%*%' or description LIKE '%*%' LIMIT 0, 4
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 12 août 2005 à 16:14
Donc voila ce que ca donne a la premiere page: query_limit_resrecherche : SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos WHERE DEPARTEMENT LIKE '%*%' or LIEUX LIKE '%*%' or style LIKE '%*%' or description LIKE '%*%' LIMIT 0, 4
MOTEUR de Recherche
<FORM id="form recherche" name="form recherche" action=i-recherche.php method=post>Entrez votre recherche </FORM>
Il y a 0 réponses
Et une fois clic sur suivant:
query_limit_resrecherche : SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos WHERE DEPARTEMENT LIKE '%*%' or LIEUX LIKE '%*%' or style LIKE '%*%' or description LIKE '%*%' LIMIT -4, 4
Erreur de syntaxe près de '-4, 4' à la ligne 1
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 12 août 2005 à 16:29
Et bien dans un 1er temps, tu peux te concentrer sur la requête dès la 1e page ! Tu avais dit : « Mais la le probleme c'est que la recherche marche bien, il m'indique le bon nombre de resultat, affiche bien les 4premier, »... euh, c'est pas flagrant !
Ensuite, tu pourras corriger ton lien (ou le calcul de $query_limit_resrecherche) parce que là, LIMIT -4, 4, ça ne risque pas marcher !
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 12 août 2005 à 16:43
Euh... je comprends pas... dans tu post du 12/08/2005 16:14:34, tu affichais le résultat : « 0 réponses », et le tableau vide... donc la requête ne retourne rien... donc ça marche pas
???
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 12 août 2005 à 16:51
sisi
j'aurai peut etre pas du faire comme ca, je t'ai mis dans l'erreur.....
C'est que simplement a la premiere affichage de la page on affiche aucun resultat ( c voulu pour avoir un tableau vierge), par contre si on tape une recherche ca fonctionne tres bien.....
Voila la page lors de l'arrivee:
query_limit_resrecherche : SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos WHERE DEPARTEMENT LIKE '%*%' or LIEUX LIKE '%*%' or style LIKE '%*%' or description LIKE '%*%' LIMIT 0, 4
MOTEUR de Recherche
<FORM id= "form recherche" name="form recherche" action=i-recherche.php method=post>Entrez votre recherche </FORM>
Il y a 0 réponses
Donc la on voit bien que pour la recherche "4" on a 5 resultats et l'affichage de 4 resultat sur une page donc tout est correct....donc on clic sur "suivant" pour afficher le 5eme resultat et la on arrive sur ca:
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 12 août 2005 à 17:01
OK, je comprends mieux mais t'as pas mis l'affichage de la requête lors des 1ers résultats de la recherche, ni celle après le clic sur suivant... ça donne quoi ?
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 12 août 2005 à 17:09
sisi je te l'ai mis au dessu, mais ca a bugger a l'envois il a melange les couleurs et taille de texte....a croire que j'ai la poisse en ce moment....
Voila la page lors de l'arrivee: query_limit_resrecherche : SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos WHERE DEPARTEMENT LIKE '%*%' or LIEUX LIKE '%*%' or style LIKE '%*%' or description LIKE '%*%' LIMIT 0, 4
Donc la on voit bien que pour la recherche "4" on a 5 resultats et l'affichage de 4 resultat sur une page donc tout est correct....donc on clic sur "suivant" pour afficher le 5eme resultat et la on arrive sur ca:
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 12 août 2005 à 17:21
sur la premiere page la requete s'affiche car je lui demande d'afficher un "*" qui n'existe pas dans la base...ce qui donne un tableau vierge....
si j'entre une recherche, la le moteur effectue bien sont travail et m'affiche correstement la requete....dans l'exemple ci dessu je lui demande de cherche le nombre "4" donc il me dit bien qu'il y a 5 resultat (ca c exact) et du coup il m'affiche les 4 premiers (comme demande)....donc a ce niveau pas de probleme....
Par contre qd je clic sur "suivant" il me dit bien qu'il y a toujours 5 resultat mais par contre m'affiche plus rien....ni les 4premier ni la nouvelle page avec le 5eme comme il devrait faire....
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 12 août 2005 à 17:30
J'ai bien compris le pb, mais je te demandais juste de me montrer les 3 requêtes... Tu me dis que tu as cherché '4', mais je n'ai pas vu de requête avec le caractère '4'...Enfin si tu dis que dans les deux 1ers cas ça marche, ne t'inquiètes pas des requêtes.
Penche-toi sur le passage de paramètre dans ton lien suivant et sur la lecture de ces paramètres sur la page suivante...
Après avoir cliqué sur suivant, qu'est-ce qu'il y a dans la barre d'adresse ?