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);
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 9 août 2005 à 16:22
Si les résultats sont correts mais qu'ils ne s'affichent pas au bon endroit, c probablement une erreur html : vérifie que toutes les balises ouvertes sont refermées, et dans le bon ordre. Vérifie ça dans le code source de la page résultat en html...
Quel est le problème quand tu "fais un retour" (qu'appelles-tu "faire un retour" ?) ?
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 10 août 2005 à 14:55
hello merci de te pencher sur mon cas....
A priori j'ai du mal exprimer le probleme et je pense pas que le HTML soit en cause.
Car avant de vouloir faire un affichage page/page tout fonctionne bien....La recherche pose aucun probleme....l'affichage des resultats sur une page unic aussi.....
Mais qd je veux faire un affichage des resultats (4 reponses par page) sur la premiere page il affiche bien mes 4 premiers resultats et indique bien qu'il en rest X..... a afficher mais desque je click sir mon bouton "suivant" il affiche le tableau vide.
donc je pense que c plus un probleme de PHP que de HTML.....mais vu mon niveau j'arrive pas a trouver le hic....
Pour ce qui est du "retour' ou "suivant" c'est juste la fonction qui permet afficher les resultats suivant ou de revenir au resultat precedant.
Pour ce qui est du retour il se passe pas grand chose, il affiche le tableau vide....comme qd je fais suivant....
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 10 août 2005 à 15:24
Essaie de faire un petit echo $requete avant d'exécuter $requete, ainsi tu pouras voir si le pb vient des liens (suivant/précédent) ou de la reuqête proprement dit...
Qu'est-ce que ça donne ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 10 août 2005 à 15:55
y'a pas $requete, j'ai mis ça pour dire « la variable contenant la chaine de ta requête sql », comme ton code n'est pas très marrant à lire (avec tout les %%, et autre print(%s)...), je pensais que tu serais capable de trouver toi-même le nom de ta variable
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 10 août 2005 à 16:21
Désolé, fallait pas mal le prendre, c'est peut-être bien comme ça qu'il faut coder ce que tu veux faire. C'est juste qu'à lire c'est pas forcément facile, mais si ça se trouve c'est ce qu'il y a de mieux ;o)
Bon, ce que je te suggérais de faire pour débugger, c'est d'insérer une ligne avant les ordres d'exécution des requètes :
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 10 août 2005 à 16:42
Non je n'ai rien mal pris du tout....
Mais c vrai que ce code est bordelique....donc je me met a ta place et ca doit etre galere a lire....
En effet peut etre de tout refaire serait la solution, meme si ca f 3 fois que je recommence....
En fait je me base sur un tuto que j'essai d'adapter a mon projet....
Sinon je viens d'ajouter les deux lignes au code....ca change rien du tout
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 10 août 2005 à 17:11
Cela signifie qu'il doit y avoir uune condition qui n'est pas remple. Pourtant, il n'y a pas de "if" avant la 1e requête...
Peux-tu redonner tout ton code tel qu'il est maintenant...
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 10 août 2005 à 17:12
Bon j'ai recommence le tout.....
La je viens de creer la page donc avec le moteur de recherche et l'affichage....
A ce stade le moteur de recherche ne foctionne pas...on affiche tous les resultat de la BD sur une seul page...
voici le code deja plus simple:
<?php require_once('Connections/infos.php'); ?>
<?php
mysql_select_db($database_infos, $infos);
$query_resrecherche = "SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos";
$resrecherche = mysql_query($query_resrecherche, $infos) or die(mysql_error());
$row_resrecherche = mysql_fetch_assoc($resrecherche);
$totalRows_resrecherche = mysql_num_rows($resrecherche);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Recherche</title>
</head>
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 10 août 2005 à 18:20
C'est bien propre là !
Bon, en fait pour débugger, tu peux essayer d'écrire une chaine pour voir si le script est exécuté. Par exemple, juste après mysql_select_db(...);
tu peux mettre un truc genre
echo 'Base sélectionnée !
';
afin de voir si le message apparait bien en haut de ta page (que ce soit la 1e page du résultat ou une suivante).
Au fait, il y a quoi dans la barre d'adresse, après que tu aies cliqué sur suivant ?
arnal69130
Messages postés445Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention22 mars 20072 10 août 2005 à 18:36
ok, et si tu remets
echo 'query_limit_resrecherche : '.$query_limit_resrecherche.'
';
juste avant
$resrecherche = mysql_query($query_limit_resrecherche, $infos) or die(mysql_error());
Cette fois, qu'est-ce qu'il t'affiche ? (copie ici l'affichage)
PETITDAVID
Messages postés36Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention15 septembre 2005 10 août 2005 à 18:41
voila le resultat:
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