8791 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

Fais voir le code complet de la récupération des variables et de la requête...
Dans un fichier j'ai bien sûr les champs
<input name="Motcle" type="text" size="15" maxlength="15" class="inputbox"/>

et dans un autre j'ai ce fameux

if ($text_search <> "") {
$search .= " AND (a.ad_headline LIKE '%$text_search%' OR a.ad_text LIKE '%$text_search%') ";
}
 //MODIFICATION
if (isset($_GET['Prixmini']) && isset($_GET['Prixmaxi'])) { 
$search .= " AND (a.ad_price BETWEEN '" . intval($_GET['Prixmini']). "' AND '" . intval($_GET['Prixmaxi']) . "')";
}
//MODIFICATION
if (isset($_GET['Cubemini']) && isset($_GET['Cubemaxi'])) { 
$search .= " AND (a.ad_cylindre  BETWEEN '" . intval($_GET['Cubemini']). "' AND '" . intval($_GET['Cubemaxi']) . "')";
}
//MODIFICATION
 if (!empty($_GET['Motcle'])) {
$search .= " AND a.ad_text LIKE '%".$_GET['Motcle']."%'";
}
$search .= " AND a.published = 1";

Demande moi les codes qui manquent pour ton aide parce que il y a une tartine de code dans le fichier
Ben je ne vois rien qui cloche.

Dans ces cas là il faut debugger : par exemple en ajoutant un echo $_GET['Motcle'] (qui de toute façon est lisible dans l'URL) et un echo $search avant d'effectuer la requête.
ça m'affiche des erreurs
mais pourquoi le faite d'avoir changé les empty par des isset dans le prix mini a fait que le code mot clé ne fonctionne plus alors qu'il n'y avait pas de prob a par bien le soucis du zéro dans prix mini ?
marquito a écrit :
ça m'affiche des erreurs
Hem... si tu n'es pas plus clair que ça je ne vois pas comment t'aider !

marquito a écrit :
mais pourquoi le faite d'avoir changé les empty par des isset dans le prix mini a fait que le code mot clé ne fonctionne plus alors qu'il n'y avait pas de prob a par bien le soucis du zéro dans prix mini ?
Il n'y a aucune raison... à moins d'une fausse manip.
si je mets echo $_GET['Motcle'] et echo $search j'ai
a écrit :
Parse error: syntax error, unexpected T_ECHO, expecting T_STRING or T_VARIABLE or '$'

si je mets simplement echo $search la page s'affiche correctement mais avec ce message
a écrit :
adcat.catid IN (46) AND (a.ad_price BETWEEN '0' AND '0') AND a.ad_text LIKE '%rouge%'

et pour revenir sur la précédente question si j'enlève
//MODIFICATION
if (isset($_GET['Prixmini']) && isset($_GET['Prixmaxi'])) { 
$search .= " AND (a.ad_price BETWEEN '" . intval($_GET['Prixmini']). "' AND '" . intval($_GET['Prixmaxi']) . "')";
}
//MODIFICATION
if (isset($_GET['Cubemini']) && isset($_GET['Cubemaxi'])) { 
$search .= " AND (a.ad_cylindre  BETWEEN '" . intval($_GET['Cubemini']). "' AND '" . intval($_GET['Cubemaxi']) . "')";
}

en laissant seulement

//MODIFICATION
 if (!empty($_GET['Motcle'])) {
$search .= " AND a.ad_text LIKE '%".$_GET['Motcle']."%'";
}

il trouve le mot Smiley sweatdrop
marquito a écrit :
si je mets echo $_GET['Motcle'] et echo $search j'ai
Parse error: syntax error, unexpected T_ECHO, expecting T_STRING or T_VARIABLE or '$'
Euh... tu ne sais pas utiliser la fonction echo ? Smiley sweatdrop

marquito a écrit :
si je mets simplement echo $search la page s'affiche correctement mais avec ce message
adcat.catid IN (46) AND (a.ad_price BETWEEN '0' AND '0') AND a.ad_text LIKE '%rouge%'
Bon ben c'est là qu'est le problème :
a.ad_price BETWEEN '0' AND '0' est toujours faux et la requête ne ramène donc aucun résultat.

Et si intval($_GET['Prixmini']) et intval($_GET['Prixmaxi']) renvoient 0 c'est parce que $_GET['Prixmini'] et $_GET['Prixmaxi'] ne contiennent pas des valeurs numériques : je suppose que c'est parce qu'ils ne sont pas renseignés dans le formulaire et qu'ils sont envoyés dans l'URL sous la forme mapage.php?Prixmini=&Prixmaxi=

Tu pourrais donc essayer de remplacer
if (isset($_GET['Prixmini']) && isset($_GET['Prixmaxi'])) { 
	$search .= " AND (a.ad_price BETWEEN '" . intval($_GET['Prixmini']). "' AND '" . intval($_GET['Prixmaxi']) . "')";
}

if (isset($_GET['Cubemini']) && isset($_GET['Cubemaxi'])) { 
	$search .= " AND (a.ad_cylindre  BETWEEN '" . intval($_GET['Cubemini']). "' AND '" . intval($_GET['Cubemaxi']) . "')";
}
par
if (isset($_GET['Prixmini']) && $_GET['Prixmini'] != '' && isset($_GET['Prixmaxi']) && $_GET['Prixmaxi']!='' ) { 
	$search .= " AND (a.ad_price BETWEEN '" . intval($_GET['Prixmini']). "' AND '" . intval($_GET['Prixmaxi']) . "')";
}

if (isset($_GET['Cubemini']) && $_GET['Cubemini'] != '' && isset($_GET['Cubemaxi']) && $_GET['Cubemaxi']!='' ) { 
	$search .= " AND (a.ad_cylindre  BETWEEN '" . intval($_GET['Cubemini']). "' AND '" . intval($_GET['Cubemaxi']) . "')";
}

PS : il faudrait quand même que tu reprennes sérieusement les bases du PHP ! Smiley langue
Lire l'annonce de ce salon pour trouver des liens intéressants...
Oui c'est vrai Smiley confused et je te remercie bcp de ton aide.
Avec ta solution ça fonctionne il affiche maintenant le mot mais j'ai ce message sur la page
a écrit :
adcat.catid IN (46) AND a.ad_text LIKE '%rouge%'
marquito a écrit :
Oui c'est vrai Smiley confused et je te remercie bcp de ton aide.
Avec ta solution ça fonctionne il affiche maintenant le mot mais j'ai ce message sur la page
adcat.catid IN (46) AND a.ad_text LIKE '%rouge%'
Supprime le echo $search! Smiley cavapa
Smiley biggol Ça fait tellement longtemps que je tourne ce truc dans tous les sens que je ne vois plus mes conneries Smiley confused je finissais par désespérer merci merci Heyoan
J'espère un jour pouvoir te rendre service Smiley cligne
Je suis plus dans le graphisme que dans la programmation mais c'est plus un secret Smiley lol
Merci encore mille fois
Fausse joie Smiley bawling j'avais fais le test avec des chiffres logique en rapport avec mes infos stockés mais en faisant des simulations de recherches avec par exemple 1 dans mini et 2 dans maxi il affiche alors que c'est pas logique.
C'est vraiment contrariant le php Smiley ohwell
marquito a écrit :
j'avais fais le test avec des chiffres logique en rapport avec mes infos stockés mais en faisant des simulations de recherches avec par exemple 1 dans mini et 2 dans maxi il affiche alors que c'est pas logique.
Hum... rien compris !

marquito a écrit :
C'est vraiment contrariant le php Smiley ohwell
Eh bien comme tous les langages c'est de moins en moins vrai au fur et à mesure qu'on les maîtrise ! Smiley smile
Ce truc m'a fait tellement souffrir que je ne voit plus rien TROP NUL et je m'affole vite Smiley sweatdrop Je viens de m'apercevoir que j'étais en TEXT dans la BDD C'est mieux avec INT Smiley smile
Pages :