Bonjour, je suis actuellement sur un projet de création de site back end. Je sollicite votre aide concernant 2 problème que je rencontre :
Le 1er est que lorsque j'affiche des données sur ma page php en effectuant une requête sql les "è" s'affiche comme des points d'interrogations. pourtant vscode est bien en utf-8 et ma bdd également.
le 2eme problème est lors de l'envoie de ma requête, les données s'affichent toute correctement sauf 1 :
$query = "SELECT a.id_annonce, a.titre, a.description_courte, a.description_longue, a.prix, a.photo, a.pays, a.ville, a.cp, a.adresse, a.cp, a.date_enregistrement, m.prenom, c.titre
FROM annonce a, membre m, categorie c
WHERE a.membre_id = m.membre_id
And a.id_categorie = c.id_categorie";

le a.titre ne s'affiche pas, il n'y a que le c.titre qui s'affiche. Lorsque je supprime le c.titre, là le a.titre s'affiche... Pourriez vous m'aider svp?
Salut,
Pour le premier problème, je ne sais pas, ça peut venir de beaucoup de choses... Essaye de faire des var_dump de ton texte avant de le mettre en BDD et après l'avoir récupéré, et de regarder visuellement comment le texte est écrit sur phpMyAdmin (ou autre^^)
Ensuite pour le deuxième problème, c'est simple: a.titre et c.titre vont tous les deux retourner une colonne "titre", ce qui n'est pas possible. Tu peux donc faire "a.titre as titre_a" et "c.titre as titre_c" et ça va marcher!
Sinon, je ne connais pas ton projet mais en général quand on veut chercher des choses dans plusieurs tables en même temps il vaut mieux faire des jointures. Tu connais le concept?
Bonne journée
Concernant tes accents, il faut savoir si ta base à déjà ce défaut .
Car pour corriger ton problème, la partie déjà enregistrée est mal écrite et donc cela ne peut se corriger.

Alors je te donnes la solution facile à retenir, ce n'est pas le html du visiteur qui encode Smiley cligne mais le PHP bien sur !!
Alors tant en saisie et écriture dans MySQL qu'en lecture les php DOIVENT avoir en tête:

<?php 
header('Content-Type: text/html; charset=utf-8');
/* ____ etc __puis ton html derriére__ */
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name=viewport content="width=device-width, initial-scale=1">
<!--[if IE]>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<![endif]   ETC...-->


C'est la réponse à ta première question ,je regarde la deuxiéme question Smiley eek
HOUP'S inutile tu as déjas la réponse Smiley cligne escuses moi Mathieu8337
j'avais pas vu Smiley confused
Modifié par Jean-Pierre-Bruneau (12 Sep 2019 - 17:31)
Bonjour,

Tout d'abord desolé de répondre que maintenant, mais j'était à fond sur le projet.
Concernant mon 1er problème, je me suis pas tro cassé la tête j'ai tout simpelemnt modifié le titre de la colonne "titre" en "titre_annonce". Je connais les tables de jointures mais j'avou avoir l'habitude (mauvaise) de procéder comme cela.

Pour mon deuxième problème je vais suivre tes recommandations Jean-Pierre-Bruneau et je vous ferais un retour.

En vous remerciant Smiley cligne