une petite aide svp

4 messages dans ce sujet

Posté(e) · Signaler ce message

ci joint la ligne de code complete que j ai mise suivant votre conseil

if (isset($frm['reference_search']) && !empty($frm['reference_search'])) {

$where .= " AND p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "' OR p.nom_fr LIKE '%" . nohtml_real_escape_string($frm['reference_search']) . "%";

}

ci joint message d erreur dans l admin pour rechercche : carb

Une erreur de connexion à la base s'est produite SELECT p.* FROM peel_produits p, peel_sites s WHERE 1 AND p.reference = 'carb' OR p.nom_fr LIKE '%carb% AND s.id = '1'.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1'' at line 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour agrimoto,

Il manque un guillemets simple sur le deuxième LIKE. Ci-dessous la requête corrigée :


$where .= " AND p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "' OR p.nom_fr LIKE '%" . nohtml_real_escape_string($frm['reference_search']) . "%'";
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

merci pour votre reactivitee

ça marche avec carburateur

comment rajouter un 2eme mot carburateur booster

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Pour faire une recherche sur chaque mot, vous devez dans un premier temps scinder votre recherche en se servant des espaces comme critères grâce à la fonction explode.

Ensuite, il faut faire une boucle avec le tableau créé par la fonction explode pour générer la requête SQL. :


if (isset($frm['reference_search']) && !empty($frm['reference_search'])) {
// Si aucun espace est présent dans la chaine, explode retourne l'intégralité de $frm['reference_search']
$search_term = explode(' ', $frm['reference_search']);
$sql_condition ='';
foreach ($search_term as $this_term) {
$sql_condition .= "OR p.nom_fr LIKE '%" . nohtml_real_escape_string($this_term) . "%' ";
}
$where .= " AND p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "' ".$sql_condition;
}
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping