IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requête liée à une recherche. [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    As-tu déjà vu un contact avoir pour nom 24 et prénom Paul? Retournes vite dans tes cahiers. Il s'agit du BABA et la modélisation.

  2. #22
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut
    Désolé mais ca fait que 6 mois que j'apprends ces langages donc ce n'est pas évident de tout retenir d'un coup !

    Donc, je vais créer un autre champs afin de pouvoir les connectés mes tables. Mais je pense pas que ca va changer mon problème.

  3. #23
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    Mais je pense pas que ca va changer mon problème.
    Oooh que si!

  4. #24
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut
    Bon voila j'ai changer j'ai rajouté un champs dans mes tables pour que ce soit cohérent :

    Table 1 : contact
    Champs : nom / prenom / numero / interaction/ code_interaction/ code_loge

    Table 2 : interaction
    Champs: commentaire / reponse / date / lieux/ code_interaction

    Table 3: loge
    Champs : adresse / ville / region / pays/ code_loge

    J'ai rajouter aussi dans ma requête mais ca change rien a mon problème.

    (oui j'ai remit "nom" en vachard et les nouveaux champs en INT)

  5. #25
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    Est-ce que code_loge dans contact a des valeurs correspondantes à celle de code_loge dans loge?
    interaction est en relation avec quoi?

  6. #26
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut
    Citation Envoyé par Nazoïde Voir le message
    Est-ce que code_loge dans contact a des valeurs correspondantes à celle de code_loge dans loge?
    interaction est en relation avec quoi?
    Oui, code_loge dans contact correspond bien a code_loge dans loge

    La table interaction est en lien avec ma table contact par le champs code_interaction.

  7. #27
    Membre chevronné
    Homme Profil pro
    Autres
    Inscrit en
    Mai 2017
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Autres

    Informations forums :
    Inscription : Mai 2017
    Messages : 279
    Par défaut
    Elle est où ta nouvelle requête?

  8. #28
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Citation Envoyé par Minimoy's Voir le message
    D'accord, je n'étais pas sur. Cependant, dans les champs je n'ai pas forcement les mêmes noms.
    J'explique
    -> ligne 1 j'ai les champs : truc machin bidulle reste
    -> ligne 2 j'ai les champs : zen tranquille repos reste

    Tu vois ce que je veux dire ?
    Donc ma question c'est comment je fais pour avoir quand mêmes les lignes?

    Exemple, Si je fais : OR ('c.prenom' LIKE '%machin%' AND 'i.commentaire' AND 'l.numero)
    Ca va me mettre que les lignes ou les prénoms sont machin?
    Es-tu sûr de ne pas confondre "champ" et "valeur" ? Un champ contient des valeurs. Dans ton cas, prenom est un champ. Machin est une valeur.

    Il faut faire attention au vocabulaire car ça peut être source de malentendus.

  9. #29
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par Minimoy's Voir le message
    Désolé mais ca fait que 6 mois que j'apprends ces langages...
    (6 jours, 6 heures,... OK. Mais 6 MOIS !! re- )

    AVANT TOUTE CHOSE, il faut revoir (apprendre) LES BASES des tables SQL !!


    1/ TRES IMPORTANT : Il te faut ajouter des INDEX (INT, CLE PRIMAIRE, AUTO-INCREMENTE)
    Ce n'est pas "nom" qui peut servir à ça (d'abord parce que c'est un VARCHAR, et que plusieurs personnes peuvent avoir le même nom !)

    Avantages des INDEX :
    • ils s'incrémentent automatiquement (lors d'un INSERT, par ex.)
    • ils sont forcément UNIQUES,
    • donc identifient de manière sûre et certaine chaque ligne
    • ils servent aux jointures
    • ...



    Table 1 : contact
    • id_contact (INT, CLE PRIMAIRE, AUTO-INCREMENTE)
    • nom
    • prenom
    • numero
    • interaction
    • id_interaction (INT, CLE ETRANGERE)
    • id_loge (INT, CLE ETRANGERE)


    Table 2 : interaction
    • id_interaction (INT, CLE PRIMAIRE, AUTO-INCREMENTE)
    • commentaire
    • reponse
    • date
    • lieux


    Table 3: loge
    • id_loge (INT, CLE PRIMAIRE, AUTO-INCREMENTE)
    • adresse
    • ville
    • region
    • pays


    2/ JOINTURES
    Les jointures se font grâce aux INDEX des tables :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT * 
    FROM contact CC
    INNER JOIN interaction II
      ON CC.id_interaction = II.id_interaction
    INNER JOIN loge LL
      ON CC.id_loge = LL.id_loge
    WHERE .....
    N.B. CC, II et LL sont des "alias" des noms des tables (ce qui évite de les recopier x fois, et rend la requête plus facile à lire)

    3/ RECHERCHE multi-critères, avec Requête préparée
    ex.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    // 1- requete
    $req = "SELECT ..........
    ..........
    WHERE CC.nom LIKE :nom
    OR CC.prenom LIKE :prenom
    OR LL.ville LIKE :ville
    ...."
     
    // 2- on prépare la requête
    $select = $bdd->prepare($req); 
     
    // 3- on exécute, avec les paramètres de la recherche
    $result = $select->execute(array(
      ':nom' => '%'.$recherche.'%',
      ':prenom' => '%'.$recherche.'%',
      ':ville' => '%'.$recherche.'%',
    ));
    Dernière modification par Invité ; 10/06/2017 à 10h06.

  10. #30
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2017
    Messages : 53
    Par défaut
    Bonjour jreaux62, Nazoïde et badaze,

    Je vous remercie pour votre aide!

    Merci Nazoide grâce a toi j'ai mieux compris certaines choses.

    Aujourd'hui ma requête fonctionne se n'est peut être pas la mieux mais pour le moment je vais laissé comme ca et continuer à apprendre afin de pouvoir ensuite l'améliorer.


    Bonne journée à vous tous.


    Merci du temps que vous avez pris pour m'expliquer les choses.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [4.2] Requête pour une recherche
    Par Yog-Sothot dans le forum Laravel
    Réponses: 2
    Dernier message: 21/09/2015, 14h50
  2. Requète pour une recherche par Priorité
    Par amine.h dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/12/2011, 15h45
  3. Requête pour une recherche sur champs multiple d'une table
    Par fred777 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/10/2008, 17h33
  4. [WD12] Requête liée à une liste ?
    Par Deallyra dans le forum WinDev
    Réponses: 5
    Dernier message: 02/06/2008, 09h14
  5. [SQL] Comment feriez-vous cette requête pour une recherche ?
    Par Core8 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/02/2008, 12h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo