• [^] # Re: Erreur de conception ?

    Posté par . En réponse au message SELECT * FROM matable WHERE n'importeQuelChamp = 'maValeur'. Évalué à 2.

    Voilà mon application :

    côté base de données, j'ai une table ''utilisateurs'', avec des champs ''nom'', ''prenom'', ''email'', etc...

    côté page web, j'ai un tableau qui affiche la liste des utilisateurs, avec tous les champs.

    Mon tableau est en Ajax, il récupère la liste des utilisateurs sous forme d'un flux JSON ou XML.

    Au dessus de mon tableau, j'ajoute un formulaire avec un unique champ, ''recherche rapide''.
    Lors de la validation du champ, le tableau envoie le mot cherché en POST, récupère le flux contenant les résultats, et rafraîchit son contenu.

    L'idée, c'est que si on tape ''François'', on obtienne des résultats tels que :

    - François Nautré santos@gmail.com ...
    - Claude François foo@bar.com ...
    - Jean Dupont jean.dupont@francois.com ...

    Du coup, pour le moment, côté serveur, je fais (version simplifiée):

    SELECT * FROM table WHERE nom LIKE $_POST['recherche'] OR prenom LIKE $_POST['recherche'] OR email LIKE $_POST['recherche'] OR ...

    Ça marche, mais :

    1) j'ai plusieurs dizaines de champs
    2) je vais devoir faire ça pour plusieurs tableaux (qui affichent des tables différentes)

    Donc si le langage SQL prévoit une syntaxe pour rechercher une valeur dans n'importe quel champ d'une table, je suis preneur.

    C'est plus clair comme ça ? Est-ce ma base qui est mal conçue ?