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 :

procedure d'ecriture/lecture d'enregistrement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 50
    Par défaut procedure d'ecriture/lecture d'enregistrement
    Bonjour,

    Programmeur actionscript, je code depuis peu des applications connectées à une base de donnée SQL. J'aurais besoin d'un petits conseil sur certaines procedures d'ecriture/lecture d'enregistrement.

    J'ai par exemple une première table A dont un champs ID_B fait référence a un enregstrement d'une deuxieme table B.

    Jusqu'à présent, si je veux récuperer un enregistrement de A, je crée un Objet Php en remplaçant le ID_B par la champs de B qui m'interesse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    B.title as myValue
    WHERE B.ID = A.ID_B
    Inversement, à l'enregistrement, je place 2 requetes SQL en cascade dans ma fonction Php. La première récupère le ID_B correspondant à la valeur envoyée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = "SELECT ID FROM B WHERE title=$obect->myValue";
    La deuxième crée mon enregistrement dans A avec cet ID_B:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = sprintf("INSERT INTO A....",....mysql_real_escape_string($ID_B));
    Cela me semble logique, mais la lourdeur de l'affaire et que si dans mon application je veux par exemple créer une popup pour un saisir un nouvel enregistrement de A, je dois à l'ouverture de cette popup télécharger au préalable toutes les valeurs de la table B pour remplir un ComboBox (je ne souhaite pas coder en dur les valeurs de B bien sûr).

    Cette méthode est-elle la bonne? Merci par avance pour votre expertise!!!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Par défaut
    INSERT INTO A
    SELECT B.* FROM A
    INNER JOIN B ON B.ID = A.ID_B
    WHERE ......


    a supposer que A et B soit la même table ou la même structure sinon précise le nom des champs

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 50
    Par défaut
    Merci Aurélien

    Cette requête (une jointure je crois) remplace donc ma double requête pas très élégante!

    Pour ce qui est de ma deuxième partie, la popup de création, il faut donc dans tous les cas que je récupére la liste de tous les enregistrements de ma table "jointe" B. Le processus peut être long si j'ai besoin de charger 3 ou 4 autres tables en cascade pour alimenter différents combobox! Il faut entre chaque chargement de table faire un aller retour entre la bdd et mon logiciel pour récupérer les données et commander l'upload suivant

  4. #4
    Membre éprouvé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Par défaut
    tu peux faire une jointure sur X tables et charger tes 4 tables en une fois.


    SELECT B.* FROM A
    INNER JOIN B ON B.ID = A.ID_B
    INNER JOIN C ON C.ID = B.ID_C
    INNER JOIN D ON D.ID = C.ID_D
    ....

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 50
    Par défaut
    ok, je vois.

    A moi de diviser ses données pour les dispatcher dans les bons Combos dans mon logiciel.

    merci encore

Discussions similaires

  1. Empecher Lecture d'Enregistrement en cours de Modification
    Par toony dans le forum Administration
    Réponses: 4
    Dernier message: 09/12/2009, 11h18
  2. Lecture , ecriture , modification d'enregistrements en base
    Par Ptiloup91 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 22/01/2009, 09h21
  3. Ecriture / Lecture sur le port parallèle
    Par steeray dans le forum Windows
    Réponses: 11
    Dernier message: 05/08/2006, 18h56
  4. ecriture/lecture sur un fichier FIFO en C++
    Par syagmur dans le forum C++
    Réponses: 2
    Dernier message: 20/03/2006, 18h44
  5. ecriture/lecture sur un fichier FIFO en PHP
    Par syagmur dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2006, 14h37

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