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 :

y a t il une astuce pour améliorer la gestion de ses requêtes dans un projet ?


Sujet :

PHP & Base de données

  1. #1
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut y a t il une astuce pour améliorer la gestion de ses requêtes dans un projet ?
    Bonjour à tous ;
    voilà je débute sur un projet (chaussure) et je ne sais pas si la plupart d'entre vous a été confronté à ce genre de problème . En effet dans ma base y a 15 tables , elles sont toutes en majorité indentifié par un id de type int qui s'auto incrémente :
    la table principale se nomme chaussure en voici l'extrait après un remplissage du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Array ( [nom] => adidzero [prix] => 12 [identifiant_marques] => 1 [quantite] => 4 [semelle_interieure] => true [identifiant_fermeture] => 1 [identifiant_style] => 2 [identifiant_talon] => 2 [identifiant_doublure] => 1 [identifiant_semelle] => 2 [identifiant_dessus] => 1 )
    ce qui fait que la table chaussure et la table marque par exemple sont liées par leur identifiant [identifiant_marques] (ici 1) qui correspond à Adidas dans la table Marque (voir photo base en détail )

    le réel inconvénient c'est qu'il faut se souvenir de toutes ces identifiants afin de relier à la table chaussure et aussi pour les requêtes !!
    par exemple pour une requête qui recherche chaussure de marque adidas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select (*) from chaussure where identifiant_marques = 1 ;
    bon je simplifie la requête , mais ici je souhaite pour etre plus clair avoir la possibilité de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    select (*) from chaussure where identifiant_marques like  "adidas " ;
    bien sûr il faut tout modifier sur les types de identifiant_marques !!!

    alors je souhaite connaître s'il y a un moyen sinon je reste sur la première version et noter les identifiants de ma table .



    merci

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    <yoda>les jointures tu utilisera</yoda>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM chaussure, marques WHERE chaussure.identifiant_marques = marques.identifiant_marques AND marques.libelle = "adidas";
    Pensez à la balise [CODE].
    Aucune réponse aux questions par MP.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 793
    Points : 34 024
    Points
    34 024
    Billets dans le blog
    14
    Par défaut
    Yoda, pas en forme tu es !
    Jointures normalisées depuis 20 ans tu apprendras !
    Les alias tu utiliseras.
    Les valeurs textuelles entre apostrophes tu mettras et non pas entre guillemets !
    Et la guerre des étoiles tu ne relanceras pas !

    Jeune padawan razily, les tables au singulier tu nommeras !
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT -- les colonnes nécessaires et pas étoile
    FROM chaussure ch
    INNER JOIN marque mq ON ch.identifiant_marque = mq.identifiant_marque 
    	AND mq.libelle = 'adidas'

    Citation Envoyé par razily
    le réel inconvénient c'est qu'il faut se souvenir de toutes ces identifiants afin de relier à la table chaussure et aussi pour les requêtes !!
    Puisque dans le forum PHP/MySQL tu postes, une interface utilisateur tu développes pour la BDD interroger. Donc une liste des marques à l'utilisateur tu peux proposer et suite à son choix l'identifiant tu récupères.
    Des tutoriels sur PHP et base de données tu pourras aisément consulter dans notre grande bibliothèque d'Ossus... euh de Developpez.com !

    Que la Force soit avec vous !

    Maître CinePhil, également appelé Maître Einstein sur Swing.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Astuces pour améliorer les performances
    Par amira dans le forum Langage
    Réponses: 10
    Dernier message: 29/03/2013, 11h24
  2. [TPL] Une astuce pour éditer les TPL sous Ubuntu
    Par §Gama§ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 27/03/2013, 22h40
  3. Réponses: 4
    Dernier message: 31/05/2011, 20h01
  4. Une astuce pour un window.close ?
    Par renaud26 dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 10/07/2009, 10h11
  5. une astuce pour ouvrir la base de registre d'un autre disque
    Par bouassouille dans le forum Windows XP
    Réponses: 4
    Dernier message: 07/10/2005, 01h53

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