Barre de recherche

Joseph

Joseph Le 30 avril 2016 à 15:45 (Édité le 25 janvier 2019 à 17:51)

Salut à tous! J'ai besoin d'une petite aide pour effectuer ma barre de recherche.  Les pages de mon site web sont référencées par rapport à l'id de mon utilisateur ( ex : http://localhost/PyP/php/profil2.php?id=23 ). Donc quand je tape le numéro de l'id dans ma barre de recherche d'un des membres je tombe bien sur sa page web. Maintenant j'aimerai modifier mon code pour que quand je tape le pseudo ou nom d'un membre, mon site renvoie la page de l'utilisateur. J'ai essayé plusieurs manips mais qui ne marchent pas. Merci d'avance 😀
Joseph

Joseph Le 30 avril 2016 à 15:47

//mon code php

$articles = $bdd->query('SELECT id FROM membres ORDER BY id DESC');
if(isset($_GET['id']) AND !empty($_GET['id'])) {
    $id = htmlspecialchars($_GET['id']);
    $articles = $bdd->query('SELECT id FROM membres WHERE username LIKE "%'.$id.'%" ORDER BY id DESC');
    if($articles->rowCount() == 0) {
        $articles = $bdd->query('SELECT id FROM membres WHERE CONCAT(id, username) LIKE "%'.$id.'%" ORDER BY id DESC');
    }

// html où on effectue la recherche
<form method="GET">
                    <li id="search">
                        <input type="search" placeholder="Rechercher" name="id">
                        <input type="submit" value="Valider" />
TheOldNoob

TheOldNoob Le 30 avril 2016 à 16:40

Salut !

Je te met un modul de recherche complet et tu l'adapte a ton code 😀

<?php 
require_once 'inc/connect.php';

$rechercheVide   = false;
$recherchePleine = false;
$searchResult    = [];


if(isset($_GET['search'])){
    $keyword = trim(strip_tags($_GET['search']));
}


if(!empty($keyword)) {

    $search = $bdd->prepare('SELECT * FROM news where title LIKE  :keyword OR content LIKE  :keyword');
    $search->bindValue(':keyword', '%'.$keyword.'%');
    if($search->execute()){
        $searchResult = $search->fetchAll(PDO::FETCH_ASSOC); // contient le resultat de la recherche
    }

    if(!empty($searchResult)){
        $recherchePleine = true;
        $requestNewsOk = false; // on n'affiche pas la liste des news si la recherche aboutie
        //var_dump($searchResult);
    } 
    else {
        $rechercheVide = true;
    }
}
?>
Joseph

Joseph Le 30 avril 2016 à 17:48

Merci beaucoup, je vais tester tout ça 😉
dqfjsqhgfdqhvsq

dqfjsqhgfdqhvsq Le 30 avril 2016 à 20:26

Propre les mecs ! 😄
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte