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 12 août 2005 à 17:39
Pour ce qui est de la requete c normal que tu ne vois rien....car dans la case "recherche" qd j'entre la recherche et que je valide a la page d'apres cette case est de nouveau vierge
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 16 août 2005 à 15:06
oui lol
Je viens de voir l'erreur...c corrige....
d'ailleur je viens de faire un autre test....
sur la premiere page d'arrive au lieu de demander une requete inexistante je demande une qui existe dans la base...
Et la forcement a l'affichage il me la sort bien
si je f suivant y a rien.....par contre a retour il m'affiche bien le resultat
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 16 août 2005 à 15:11
ha voila je viens de faire une avancée je pense
Si je demande a la premiere affichage de la page de faire une requete valide dans la base tout marche bien
avec cette requete....aussi bien suivant que precedent....
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 16 août 2005 à 15:35
Non pas du tout lol
c bien domage.........
Mais que simplement avec une requete valide a l'ouverture de page, il affiche bien le resultat....le bouton suivant et precedent fonctionne bien....
mais par contre si on fait une autre recherche il affiche bien le resultat, mais par contre la fonction "precedent/suivant" ne fonctionne toujour pas....lors du clic ca nous renvois sur la premiere page de resultat de la requete d'origine....et non de la nouvelle
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 16 août 2005 à 17:25
si si il y avait une erreur sur les page i-recherche et i-recherche2 mais g rectifie....
afficher chaque requete avant....heu oui c bien bo ca...lol
mais ca vas pas trop m'avancer vu mon niveau....
Sinon peut etre plus simple mais qui m'aidera pas trop a avance dans la comprehension serait un site ou un tuto de quelqu'un qui a deja fait ce genre de chose.....
Si tu as une adresse ou lien....
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 16 août 2005 à 17:46
- perso je n'ai pas d'adresse à te donner, mais ça doit surement exister...
- Tu as rectifier les erreurs sur les pages i-recherche et i-recherche2... ça veut dire que tu n'en utilises plus qu'une seule ?
- « afficher chaque requête avant de l'exécuter » : C'est ce que je t'ai fais faire déjà plusiquers fois... j'explicite :
Voici un bout de ton code :
$query_resrecherche = 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%%'", $colname_resrecherche,$collieux_resrecherche,$colstyle_resrecherche,$coldescription_resrecherche);
$query_limit_resrecherche = sprintf("%s LIMIT %d, %d", $query_resrecherche, $startRow_resrecherche, $maxRows_resrecherche);
$resrecherche = mysql_query($query_limit_resrecherche, $infos) or die(mysql_error());
Tu commences donc par défifnir une variable chaine ($query_limit_resrecherche) qui contient une requête SQL. Ensuite tu exécute cette requête avec mysql_query($query_limit_resrecherche,$infos);
Je te suggère donc d'afficher la requête avant de l'exécuter :
$query_resrecherche = 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%%'", $colname_resrecherche,$collieux_resrecherche,$colstyle_resrecherche,$coldescription_resrecherche);
$query_limit_resrecherche = sprintf("%s LIMIT %d, %d", $query_resrecherche, $startRow_resrecherche, $maxRows_resrecherche);
echo $query_limit_resrecherche;
$resrecherche = mysql_query($query_limit_resrecherche, $infos) or die(mysql_error());