Bonjour
Je suis abonné à ce site, Chapeau et Bravo pour le travail accompli ! en passant.
J'essaie d'intégrer une fonction de recherche avec votre Tuto Fonction de recherche, par contre sur mes sites j'utilise PDO.
là ou ça bloque c'est au moment du WHERE OR LIKE que je dois intégrer dans mon query.
Si je fais une requète sql comme dans le tuto c'est ok, mais j'ai de la misère à intégrer le foreach et le reste
<?php
if(isset($_GET'q'])) {
$q=$_GET'q'];
$e=explode (" ",$q);
// print_r ($e);
$reponse = $bdd->query("SELECT titre_art, texte_art,
(SELECT nom_cat FROM categorie WHERE idcat=categorie_idcat) AS categorie,
(SELECT lien_photo FROM image WHERE idimage=image_idimage) AS place_photo
FROM article WHERE texte_art LIKE '%$q%'");
Une piste ?
Merci
OK c'est bon
if (isset ($_GET'q'])) {
$q = $_GET'q'];
$s = explode(" ", $q); //séparation des mots
$req="SELECT idart,titre_art,texte_art,date_ins,
(SELECT lien_photo FROM image WHERE idimage=image_idimage) AS place_photo
FROM article";
$i=0;
foreach ($s as $mot) {
if (strlen($mot)>3) {
if ($i==0) {
$req.=" WHERE ";
}
else {
$req.=" OR ";
}
$req.="texte_art LIKE '% $mot %'";
$i++;
}
}
$response = $bdd->prepare($req);
$response->execute();
PDOStatement Object ( [queryString] => SELECT titre_art, texte_art, (SELECT nom_cat FROM categorie WHERE idcat=categorie_idcat) AS categorie, (SELECT lien_photo FROM image WHERE idimage=image_idimage) AS place_photo FROM article WHERE texte_art LIKE '%associations%' ) avec $q
PDOStatement Object ( [queryString] => SELECT titre_art, texte_art, (SELECT nom_cat FROM categorie WHERE idcat=categorie_idcat) AS categorie, (SELECT lien_photo FROM image WHERE idimage=image_idimage) AS place_photo FROM article WHERE texte_art LIKE '%Array%' ) avec $e un tableau
Et si je fais le foreach avant puis recupere le resultat pour le mettre en variable pour remplacer le reste ?
WHERE texte_art LIKE '%associations%'
Merci
Mmmh je ne comprend pas trop ou tu bloque en fait, ton souci c'est la requête qui ne marche pas ou tu ne sais pas récup les donner avec PDO (si c'est ça regarde le tuto sur PDO)