Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: kouamkoff
Auteur Sujet: BARRE DE RECHERCHE

kouamkoff

Messages: 6

Bonjour à tous ! Vous allez bien j'espère.
Je souhaite créer une barre de recherche en php pour un site e-commerce. J'ai fais quelques lignes de code et tout semble bon. Mais le résultat attendu n'est pas encore ça. Je veux que une fois l'utilisateur aura entré sa recherche, que le résultat soit renvoyé sur une autre page.
Voici ce que j'ai pu faire jusqu'à présent :
<?php

try{
        $bdd = new PDO("mysql:host=127.0.0.1;dbname=site e-commerce", 'root', '');
        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(Exception $e){
        echo $e->getMessage();
    }

?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>Recherche</title>
    <link rel="stylesheet" type="text/css" href="bootstrap.min.css">
    <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<body>
<br><br>
    <div class="container">
        <div class="row">
            <div class="col-sm-0 col-md-2 col-lg-3"></div>
            <div class="col-sm-12 col-md-8 col-lg-6">
                <form class="form-group">
                    <input type="text" class="form-control" id="search-user" value="" placeholder="rechercher" >
                </form>

                <div style="margin-top: 20px">
                    <div id="result-search"></div>
                </div>
            </div>
        </div>    
    </div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
     <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
    <script src="bootstrap.min.js"></script>
    <script>
  $(document).ready(function(){
    $('#search-user').keyup(function(){
      $('#result-search').html('');

      var utilisateur = $(this).val();

      if(utilisateur != ""){
        $.ajax({
          type: 'GET',
          url: 'fonctions/recherche_utilisateur.php',
          data: 'user=' + encodeURIComponent(utilisateur),
          success: function(data){
            if(data != ""){
              $('#result-search').append(data);
            }else{
              document.getElementById('result-search').innerHTML = "<div style='font-size: 20px; text-align: center; margin-top: 10px'>Aucun résultat</div>"
            }
          }
        });
      }
    });
  });
</script>
</body>
</html>
voici la page qui doit normalement accueillir les résultats de la recherche que j'ai nommé "recherche_utilisateur.php"
<?php


try{
        $bdd = new PDO("mysql:host=127.0.0.1;dbname=site e-commerce", 'root', '');
        $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
    catch(Exception $e){
        echo $e->getMessage();
    }

    
  if(isset($_GET['user'])){
    $user = (String) trim($_GET['user']);

    $req = $bdd->prepare("SELECT * FROM products WHERE title LIKE ? LIMIT 10",
                      array("$user%"));

    $s = $req->fetch(PDO::FETCH_OBJ);
    foreach($req as $r){
      ?>   
        <div style="margin-top: 20px 0; border-bottom: 2px solid #ccc"><?= $r['title'] . " " . $r['price'] ?></div>
       <?php    
    }
  } 
?>
Merci de m'aider, je suis vraiment coincé
Publicité

Jerem971

Messages: 888

Hello @kouamkoff,

Si j'ai bien compris, tu souhaites que, lorsque l'utilisateur clique sur le bouton "Rechercher", que les résultats soient affichés sur une autre page, c'est bien cela ?

lindarose11

Messages: 13

C'est un excellent article. Vous allez sûrement aimer ça aussi parce que c'est une bonne chose
scary maze game

kouamkoff

Messages: 6

exactement c'est ce que je veux @Jerem971
excuses moi j'avais pas mon ordi tout ce temps( des pannes intempestives)



Vous devez vous connecter ou créer un compte pour poster une réponse