Barre de recherche php et affichage

Résolu
Bonjour,

Voilà j'ai configuré une barre de recherche puis je l'ai "connecté" à ma base de données. Le souci est que quand celle ci me renvoie les résultats d ma recherche cela se présente avec des caractères spéciaux dont j'aimerais m'en débarrasser

Array(
[0]=>
[Id]=1
[nom]=Gertrude
[Prenom]=Juliette etc...
D'une part et d'autre part disposer de façon plus élégantes les résultats.

Merci

Configuration: Android / Chrome 98.0.4758.87

4 réponses

  1. <?php
    		$serveur = "localhost";
    		$login = "root";
    		$pass = "root";
    
    		 try{
    			$connexion = new PDO("mysql:host=$serveur;dbname=cours; charset = utf8",$login,$pass);
    			$connexion -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    			if (isset($_POST['submit'])){
    				$str = $_POST['search'];
    				$requete = $connexion ->prepare("SELECT * FROM users WHERE nom='$str' ");
    			$requete-> execute();
    			$resultat = $requete->fetchAll(PDO::FETCH_ASSOC);
    			}
    			 
    			print_r($resultat);
    			 		}
    		catch(PDOException $e){
    			die('Echec de la connexion:'.$e ->getMessage());
    		}
    ?>
    
    1. Modérateur
      Ok.
      Et donc, tu as toujours des problèmes de caractères spéciaux ?
      Tu as suivi tout ce qui était indiqué dans le lien que je t'ai donné ?
    2. @jordane45Je crois que oui... j dédire qu'à l'affiche d'une recherche faite pas un utilisateur, les informations provenant de ma base de données soient l plus clairement retournées c'est à dire sans array(), sans de [nom] etc.. mais plutôt
      Nom prénom email âge
      Gertrude Juliette ***@*** 37
  2. j'ai pris en compte les différentes remarques mais l'affichage non voulu persiste:
    Array ( [0] => Array ( [Id] => 1 [nom] => Gertrude [prénom] => Juliette [mail] => ***@*** [age] => 37 [pays] => ...
    1. Modérateur
      Je ne vois pas de caractère spéciaux dans ce que tu nous montres....
      Et si ça s'affiche comme ça, c'est parce que tu as utilisé un print_r
      À toi de boucler sur le résultat de ta requête pour en faire l'affichage souhaité..
    2. Contributeur
      @LEMANIMAK84En fait, tu veux savoir comment parcourir le tableau (array) de résultats avec Php.

      Avec une boucle foreach tu peux parcourir chaque ligne. Pour chaque ligne, tu peux accéder aux champs souhaités et les présenter comme tu le veux.

      Par exemple :

      foreach ($resultat as $ligne) {
          echo $ligne['nom'] . " " . $ligne['prénom'] . ", " . $ligne['mail'] . ", " . $ligne['age'] . " ans<br />\n";
      }


      (non testé)
  3. Merci à toi j-45. Ça fonction donc je vais juste de mon côté peaufiner. Merci pour ta promptitude
    1. Contributeur
      j-45 ?

      Enfin, le principal c'est que tu aies ta réponse