CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide PHP SQL please :(

voyager002
voyager002
Niveau 7
04 octobre 2020 à 16:45:54

salut j'ai un problème avec la recherche dans ma base de données

L'utilisateur entre un code postal ou une ville, ensuite il est redirigé sur la page qui contient ce code :


$reponse = $bdh->query('SELECT * FROM `lieux` WHERE `codepostal` IN "' . $_POST['addr'] . '"');
$donnees = $reponse->fetch();

($_POST['addr'] est l'id de l'input ou l'utilisateur entre le code postal ou la ville )

Si je met un " = " à la place du "" IN " ça fonctionne
mais le IN ne fonctionne pas

La table codepostal se présente comme cet exemple : " 69003 LYON MONTCHAT"

Je souhaiterais arriver à faire fonctionner ce IN

Mais ensuite j'aurais probablement un 2eme problème, si je tape 69001 dans l'input, il me ressortira toutes les lignes contenant les lettre 6, 9, 0 et 1 donc aussi les 69003 mais aussi 63000 par exemple

il faudrait que ça ne selectionne que si ça match avec la totalité de l'input, et un des mots de la table codepostal

Si quelqu'un possède l'énergie de m'aider je serais reconnaissant

voyager002
voyager002
Niveau 7
04 octobre 2020 à 16:46:59

Je précise que le " = " ne fonctionne que si je rentre seulement 69003 dans la table codepostal

dechet_s0cial
dechet_s0cial
Niveau 10
04 octobre 2020 à 19:46:57

1) ne fais jamais ça, utilise les paramètres de requêtes PDO
2) pourquoi tu veux absolument utiliser IN?
tu peux faire simplement

SELECT * FROM lieux WHERE codepostal = 'blabla' ;
VinkingBanni
VinkingBanni
Niveau 10
06 octobre 2020 à 08:48:30

Le in marche avec une liste pas une chaîne

voyager002
voyager002
Niveau 7
06 octobre 2020 à 23:38:41

Re, merci beaucoup d'avoir accordé du temps mais je suis juste bête, ça fonctionnait, j'avais juste 1 entrée dans ma base de donnée et php n'affiche qu'à partir de la deuxième (je ne sais pas pourquoi)
:merci:

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment