Barre de recherche

Suivre ce topic
Ce topic est suivi par : Personne...
Chooper01

Chooper01 Le 21 octobre 2016 à 21:36 (Édité le 25 janvier 2019 à 17:52)

Bonjour j'ai un soucis avec ma barre de recherche elle n'affiche pas le résultat .. 
Code :
[table]if (isset($_GET['search']) AND !empty($_GET['search']))
{
  $search = htmlspecialchars($_GET['search']) ;
  $membres = $bdd->query('SELECT * FROM membres WHERE pseudo LIKE "%'.$search.'%"');
}
[/table]

<ul>
            <?php while ($m = $membres->fetch()) { ?>
            <li><?= $m['id'] ?> : <?= $m['pseudo'] ?> <?php if($m['confirm'] == 0) { ?> - <a href="admin.php?confirm=<?= $m['id']?>">Confirmer</a><?php } ?> - <a href="admin.php?supprime=<?= $m['id'] ?>"> Supprimer</a></li>
 
            <?php } ?>
       </ul>
Merci 😀
Balatharas

Balatharas Le 21 octobre 2016 à 21:46

Bah il faudrait peut-être essayer de l'afficher 😶 ?
[table]
if (isset($_GET['search']) AND !empty($_GET['search'])) {
   $search = htmlspecialchars($_GET['search']) ; 
   $membres = $bdd->query('SELECT * FROM membres WHERE pseudo LIKE "%'.$search.'%"');
   $result = $membres->fetch();
   echo $result['pseudo'];
}
[/table]
+ pas besoin de préciser ça je pense 😉
<ul>            <?php while ($m = $membres->fetch()) { ?>            <li><?= $m['id'] ?> : <?= $m['pseudo'] ?> <?php if($m['confirm'] == 0) { ?> - <a href="admin.php?confirm=<?= $m['id']?>">Confirmer</a><?php } ?> - <a href="admin.php?supprime=<?= $m['id'] ?>"> Supprimer</a></li> 
            <?php } ?>       </ul>
Chooper01

Chooper01 Le 21 octobre 2016 à 22:01

Merci de ta réponse seul soucis c'est que sa me l'affiche tout en haut a gauche plus tous les autres pseudo restent ^^
Balatharas

Balatharas Le 21 octobre 2016 à 22:53 (Édité le 21 octobre 2016 à 22:54)

Euh dis moi exactement ce que tu veux avoir et montre un screen de ce que tu veux pas avoir et rectifie ce que je t'ai donner
Si tu veux pas avoir la liste des pseudos quand tu fais une recherche tu met la boucle while() dans une condition du genre:
if(!isset($_GET['search'])) {
     while() {
               #code....
     }
} 
Chooper01

Chooper01 Le 22 octobre 2016 à 13:21

Je voudrais que lors ce que je recherche un pseudo il s'affiche juste en dessous je mets un screen:

Balatharas

Balatharas Le 22 octobre 2016 à 14:25

Alors tu met
<?php
if (isset($_GET['search']) AND !empty($_GET['search'])) {
   search = htmlspecialchars($_GET['search']) ; 
   membres = $bdd->query('SELECT * FROM membres WHERE pseudo LIKE "%'.$search.'%"');
   result = $membres->fetch();
   echo $result['pseudo'];
}
?>
Juste en dessous de ta barre de recherche
Chooper01

Chooper01 Le 22 octobre 2016 à 16:22

Sa me l'affiche mais en haut a droite de ma page ..
Balatharas

Balatharas Le 22 octobre 2016 à 19:11

Donne moi le code de ta page
Chooper01

Chooper01 Le 22 octobre 2016 à 19:15

if (isset($_GET['search']) AND !empty($_GET['search'])) 
         {
           $search = htmlspecialchars($_GET['search']) ;
           $membres = $bdd->query('SELECT * FROM membres WHERE pseudo LIKE "%'.$search.'%"');
         }
       if (isset($_GET['confirm']) AND !empty($_GET['confirm'])) 
             {
                $confirm = (int) $_GET['confirm'];
                $req = $bdd->prepare('UPDATE membres SET confirm = 1 WHERE id = ?');
                $req->execute(array($confirm));
                header('Location : admin.php'); 
             }
             if (isset($_GET['supprime']) AND !empty($_GET['supprime'])) 
             {
                $supprime = (int) $_GET['supprime'];
                $req = $bdd->prepare('DELETE FROM membres WHERE id = ?');
                $req->execute(array($supprime));
                header('Location : admin.php'); 
             }
               
               $membres =$bdd->query('SELECT * FROM membres');
      ?>



<div id="membres">
      <fieldset>
      <legend>Liste de Membres:</legend>
         <form id="rech" method="GET">
         <input type="search" id="cherch" name="search" placeholder="Recherche..." />
         <input type="submit" id="chercher" Value="Chercher !" />
          </form>
      <ul>
            <?php while ($m = $membres->fetch()) { ?>
            <li><?= $m['id'] ?> : <?= $m['pseudo'] ?> <?php if($m['confirm'] == 0) { ?> - <a href="admin.php?confirm=<?= $m['id']?>">Confirmer</a><?php } ?> - <a href="admin.php?supprime=<?= $m['id'] ?>"> Supprimer</a> - <a href="profil.php?id=<?= $m['membres']?>">Edition</a></li>
            <?php } ?>
      </ul>
      </fieldset>
      </div>
     
Balatharas

Balatharas Le 22 octobre 2016 à 20:27 (Édité le 23 octobre 2016 à 13:43)

Vu ton code ta rien compris a mon message d'avant...
D'ailleurs on dirait que tu n'a même pas essayer ce que je t'ai donner au départ...
Ah et sauf si c'est pas fait exprès, ton code est dégueu dans le sens où l'arborescence est carrément mal-foutue. La plupart des infos sont mélangées on comprends rien xD
<?php
if(isset($_GET['search']) AND !empty($_GET['search'])) {
   $search = htmlspecialchars($_GET['search']) ;
   $membres = $bdd->query('SELECT * FROM membres WHERE pseudo LIKE "%'.$search.'%"');
   $result = $membres->fetch();
}
if(isset($_GET['confirm']) AND !empty($_GET['confirm'])) {
   $confirm = (int) $_GET['confirm'];
   $req = $bdd->prepare('UPDATE membres SET confirm = 1 WHERE id = ?');
   $req->execute(array($confirm));
   header('Location : admin.php'); 
}
if(isset($_GET['supprime']) AND !empty($_GET['supprime'])) {
   $supprime = (int) $_GET['supprime'];
   $req = $bdd->prepare('DELETE FROM membres WHERE id = ?');
   $req->execute(array($supprime));
   header('Location : admin.php'); 
}
$membres =$bdd->query('SELECT * FROM membres');
?>
<div id="membres">
   <fieldset>
      <legend>Liste de Membres:</legend>
      <form id="rech" method="GET">
         <input type="search" id="cherch" name="search" placeholder="Recherche..." />
         <input type="submit" id="chercher" Value="Chercher !" />
      </form>
      <?php
      if(isset($_GET['search']) AND !empty($_GET['search'])) {   
            echo $result['pseudo'];
         }
      ?>
      <ul>
         <?php while($m = $membres->fetch()) { ?>
            <li>
               <?= $m['id'] ?> : <?= $m['pseudo'] ?>
               <?php if($m['confirm'] == 0) { ?> - <a href="admin.php?confirm=<?= $m['id']?>">Confirmer</a><?php } ?> - <a href="admin.php?supprime=<?= $m['id'] ?>"> Supprimer</a> - <a href="profil.php?id=<?= $m['membres']?>">Edition</a>
            </li>
         <?php } ?>
      </ul>
   </fieldset>
</div>
J'aime pas donner des codes tout faits mais bon là, c'est n cas à part.
Donne moi ton retour après, et seulement après avoir testé.
Chooper01

Chooper01 Le 23 octobre 2016 à 01:40

Voila j'ai fais comme tu as dis j'ai enlever les slash mais la quand j'entre une recherche rien ne s'affiche encore ^^
Balatharas

Balatharas Le 23 octobre 2016 à 13:42 (Édité le 23 octobre 2016 à 14:17)

Oulala 😰 je crois que j'était fatigué hier
C'est logique que tu n'est rien, tu masque la boucle while lors de la recherche du coup ca masque le résultat en même temps xD
Du coup reprends le code de mon ancien post, que j'ai édité.
Désolé pour l'erreur ^^
Chooper01

Chooper01 Le 23 octobre 2016 à 21:24

T’inquiète pas ^^ Donc voila ce que ça me fait quand je lance une recherche



Je voudrais que sa m'affiche juste le pseudo suivi des commandes a coté
Balatharas

Balatharas Le 23 octobre 2016 à 21:31 (Édité le 23 octobre 2016 à 21:36)

EDIT: J'ai rien dit avant, 2 secondes
Balatharas

Balatharas Le 23 octobre 2016 à 21:39

<?php
if(isset($_GET['search']) AND !empty($_GET['search'])) {
   $search = htmlspecialchars($_GET['search']) ;
   $membres = $bdd->query('SELECT * FROM membres WHERE pseudo LIKE "%'.$search.'%"');
   $result = $membres->fetch();
} else {
   $membres =$bdd->query('SELECT * FROM membres');
}
if(isset($_GET['confirm']) AND !empty($_GET['confirm'])) {
   $confirm = (int) $_GET['confirm'];
   $req = $bdd->prepare('UPDATE membres SET confirm = 1 WHERE id = ?');
   $req->execute(array($confirm));
   header('Location : admin.php'); 
}
if(isset($_GET['supprime']) AND !empty($_GET['supprime'])) {
   $supprime = (int) $_GET['supprime'];
   $req = $bdd->prepare('DELETE FROM membres WHERE id = ?');
   $req->execute(array($supprime));
   header('Location : admin.php'); 
}

?>
<div id="membres">
   <fieldset>
      <legend>Liste de Membres:</legend>
      <form id="rech" method="GET">
         <input type="search" id="cherch" name="search" placeholder="Recherche..." />
         <input type="submit" id="chercher" Value="Chercher !" />
      </form>
      <?php
      if(isset($_GET['search']) AND !empty($_GET['search'])) {   
            Résultats pour <b><?= $search ?></b>:
         }
      ?>
      <ul>
         <?php while($m = $membres->fetch()) { ?>
            <li>
               <?= $m['id'] ?> : <?= $m['pseudo'] ?>
               <?php if($m['confirm'] == 0) { ?> - <a href="admin.php?confirm=<?= $m['id']?>">Confirmer</a><?php } ?> - <a href="admin.php?supprime=<?= $m['id'] ?>"> Supprimer</a> - <a href="profil.php?id=<?= $m['membres']?>">Edition</a>
            </li>
         <?php } ?>
      </ul>
   </fieldset>
</div>
Ca devrait le faire
Chooper01

Chooper01 Le 23 octobre 2016 à 22:12

Non toujours pas il me dit une erreur de syntaxe je vois pas ou je te mets l'erreur:

Parse error: syntax error, unexpected 'pour' (T_STRING) in "Le chemin d'accès " on line 122

Et dans ton code c'est la ligne 32
Balatharas

Balatharas Le 24 octobre 2016 à 19:16

Oh mais jsuis bete j'ai oublié de mettre ?> devant Résultats, et de rouvrir après </b>:
Décidément 😕
Chooper01

Chooper01 Le 24 octobre 2016 à 19:52

Donc voila sa fonctionne toujours pas je mets un screen ^^
Balatharas

Balatharas Le 24 octobre 2016 à 20:25

Bah la c'est bizarre.. Skype ?
Chooper01

Chooper01 Le 24 octobre 2016 à 20:26

yep
Balatharas

Balatharas Le 26 octobre 2016 à 19:35

Faudrait ptetre que j'ai ton skype pour te contacter non ? ^^'
Chooper01

Chooper01 Le 26 octobre 2016 à 23:18

Add Hamza Bzh
Balatharas

Balatharas Le 27 octobre 2016 à 14:35

Hum ajoute moi plutot, comme je suis sans doute le seul a avoir un pseudo aussi debile: pokekraft25
Chooper01

Chooper01 Le 27 octobre 2016 à 18:41

fait
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte