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

Langage SQL Discussion :

pb insert select tables multiples


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut pb insert select tables multiples
    Bonjour à toutes et tous

    je suis tout neuf sur ce forum ainsi que sous phpmyadmin mysql

    j'ai un soucis avec l'utilisation de insert et select, j'ai créé des tables avec multiples entrées en l'occurence ( client avec nom et prénom, entree avec 2 entrées, plat de résistance avec 2 plats dessert avec 2 desserts et une table réservation que j'aimerai incrémenter à la demande avec possibilités de choisis un item de chaque table

    la commande suivante fonctionne et incrémente bien mon nom et prénom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT reservations (nom, prenom)
    SELECT nom, prenom FROM clients WHERE idclients LIKE '1'
    mais je n'arrive pas à entrer tous les items sur une même ligne

    par ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT entree (entree)
    SELECT entree FROM clients WHERE identree LIKE '1'
    me rentre bien mes entrées mais sur une nouvelle ligne

    quelle commande me permettrait d'incrémenter dans un même temps tous les items de reservation ( nom, prénom, date, entrée, plat, dessert ) SVP

    Je sais pas si je suis clair dans mes explication mais je suis neuf d'une semaine en php mysql

    j'ai googelisé depuis ce matin mais là j'ai la tête qui va plus suivre

    merci d'avance pour vos précieuses pistes


    Christophe

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Merci pour la modif Chtulus

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par christophe.ribet Voir le message
    je suis tout neuf sur ce forum ainsi que sous phpmyadmin mysql
    J'ai un peu l'impression que tu es tout neuf aussi dans le monde des bases de données !
    Répéter un nom et prénom d'un client dans une table de réservation, c'est de la redondance d'information, c'est donc utiliser un SGBDR comme un simple tableur !

    la commande suivante fonctionne et incrémente bien mon nom et prénom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT reservations (nom, prenom)
    SELECT nom, prenom FROM clients WHERE idclients LIKE '1'
    mais je n'arrive pas à entrer tous les items sur une même ligne

    Ce qu'il faudrait plutôt, c'est avoir dans la table des réservations l'identifiant du client et c'est lui qu'il faut insérer avec une requête du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO reservations(idclient)
    SELECT idclient
    FROM clients
    WHERE nom = 'Dupont' AND prenom = 'Jean'
    En espérant que tu n'auras pas deux clients portant ce nom sinon il va insérer deux réservations !

    J'ajoute que :
    - LIKE '1' est équivalent à = '1'
    - un identifiant tel que idclient est normalement de type entier non null non signé et autoincrémenté, ce qui fait qu'il ne faut pas mettre ces valeurs d'identifiant entre ' : idclient = 1 est la bonne syntaxe.

    par ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT entree (entree)
    SELECT entree FROM clients WHERE identree LIKE '1'
    me rentre bien mes entrées mais sur une nouvelle ligne
    Ca c'est tout à fait normal ! Une réservation = une ligne dans la table des réservations, un client = une ligne dans la table des clients, etc.

    Bref, un peu de lecture me semble indispensable avant d'aller plus loin :
    http://sqlpro.developpez.com/cours/modelisation/merise/
    http://cyril-gruau.developpez.com/merise/

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    comme tu dis je suis tout neuf en base de données

    je teste et lis et je donne des nouvelles

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    vi, je vois à peu prêt comment ça fonctionne

    mais ce que je veux, c'est entrer le nom et prénom du client en même temps que l'entrée, plat et dessert désirés pour qu'ils apparaissent sur la même ligne dans réservation

    possible ou pas ???

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Ben utilise un tableur alors, ce sera plus simple !

    As-tu vraiment besoin de faire une base de données pour ça ?

    Si tu vois à peu près comment ça fonctionne et si tu as vraiment besoin d'une base de données, modélise ta base et montre nous ton beau MCD.

    Après on pourra t'aider pour les requêtes qui te permettront de l'alimenter.

    PS et HS : J'ai été à l'école avec un Bruno Ribet au Havre. Possible qu'il soit de ta famille ? Si oui passe lui le bonjour.

  7. #7
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    si, je suis obligé de faire une base ( pour une formation )

    j'ai réussi à insérer à partir de plusieurs tables avec le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT reservations (nom, prenom, entree)
    SELECT nom, prenom, entree
    FROM clients, entree
    mais ça me met que tous les clients on faits la réservation de toutes les entrées

    apparemment je ne peux utiliser le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM clients WHERE idclients LIKE '1'
    c'est dommage je sentais que j'y étais presque

    si ça peut aider: l'ensemble de ma base

    Code : 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    -- phpMyAdmin SQL Dump
    -- version 3.1.2
    -- http://www.phpmyadmin.net
    --
    -- Serveur: localhost
    -- Généré le : Mer 01 Avril 2009 à 15:24
    -- Version du serveur: 5.0.67
    -- Version de PHP: 5.2.6
     
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
     
    --
    -- Base de données: `restaurant`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `clients`
    --
     
    CREATE TABLE IF NOT EXISTS `clients` (
      `idclients` int(11) NOT NULL auto_increment,
      `nom` varchar(50) collate utf8_unicode_ci NOT NULL,
      `prenom` varchar(50) collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`idclients`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
     
    --
    -- Contenu de la table `clients`
    --
     
    INSERT INTO `clients` (`idclients`, `nom`, `prenom`) VALUES
    (1, 'Leguoin', 'Paul'),
    (2, 'Papou', 'Raymond');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `dessert`
    --
     
    CREATE TABLE IF NOT EXISTS `dessert` (
      `iddessert` int(11) NOT NULL auto_increment,
      `dessert` varchar(50) collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`iddessert`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
     
    --
    -- Contenu de la table `dessert`
    --
     
    INSERT INTO `dessert` (`iddessert`, `dessert`) VALUES
    (1, 'île flottante'),
    (2, 'fruits');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `entree`
    --
     
    CREATE TABLE IF NOT EXISTS `entree` (
      `identree` int(11) NOT NULL auto_increment,
      `entree` varchar(50) collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`identree`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
     
    --
    -- Contenu de la table `entree`
    --
     
    INSERT INTO `entree` (`identree`, `entree`) VALUES
    (1, 'carottes rapées oeufs mimosa'),
    (2, 'poireaux en vinaigrette');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `platresistance`
    --
     
    CREATE TABLE IF NOT EXISTS `platresistance` (
      `idplatresistance` int(11) NOT NULL auto_increment,
      `platresistance` varchar(50) collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`idplatresistance`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
     
    --
    -- Contenu de la table `platresistance`
    --
     
    INSERT INTO `platresistance` (`idplatresistance`, `platresistance`) VALUES
    (1, 'boeuf bourguignon'),
    (2, 'endives au jambon');
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `reservations`
    --
     
    CREATE TABLE IF NOT EXISTS `reservations` (
      `idreservations` int(11) NOT NULL auto_increment,
      `date` date NOT NULL,
      `nom` varchar(50) collate utf8_unicode_ci NOT NULL,
      `prenom` varchar(50) collate utf8_unicode_ci NOT NULL,
      `entree` varchar(50) collate utf8_unicode_ci NOT NULL,
      `platresistance` varchar(50) collate utf8_unicode_ci NOT NULL,
      `dessert` varchar(50) collate utf8_unicode_ci NOT NULL,
      PRIMARY KEY  (`idreservations`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=28 ;
     
    --
    -- Contenu de la table `reservations`
    --
     
    INSERT INTO `reservations` (`idreservations`, `date`, `nom`, `prenom`, `entree`, `platresistance`, `dessert`) VALUES
    (27, '0000-00-00', 'Papou', 'Raymond', 'poireaux en vinaigrette', '', ''),
    (26, '0000-00-00', 'Leguoin', 'Paul', 'poireaux en vinaigrette', '', ''),
    (25, '0000-00-00', 'Papou', 'Raymond', 'carottes rapées oeufs mimosa', '', ''),
    (24, '0000-00-00', 'Leguoin', 'Paul', 'carottes rapées oeufs mimosa', '', '');

    PS: Je ne connais pas ce Monsieur Ribet, si ça se trouve on est bien de la même famille

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Ce qui ne va pas dans ton modèle, c'est la table réservations.
    S'il y a des identifiants dans les autres tables, ce n'est pas pour faire joli mais pour que ça serve, notamment de clés étrangères dans les autres tables de la base !

    Si la table réservation doit effectivement contenir le client, la date et les plats, alors sa structure devrait être la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    CREATE TABLE IF NOT EXISTS reservations (
        idreservations int NOT NULL AUTO_INCREMENT,
        datereservation date NOT NULL,
        idclient int NOT NULL,
        identree int NOT NULL,
        idplatresistance int NOT NULL,
        iddessert int NOT NULL,
      PRIMARY KEY  (idreservations)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
    J'ajoute qu'avec le moteur InnoDB au lieu de MyISAM, tu bénéficierais des contraintes de clés étrangères alors que là c'est ton application qui va devoir tout faire.

    Supposons maintenant que Raymond Papou réserve pour le 04/04/2009 des poireaux en vinaigrette, un boeuf bourguignon et une île flottante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    INSERT INTO reservations(datereservation, idclient, identree, idplatresistance, iddessert)
    VALUES ('2009-04-04',
        (SELECT idclient
        FROM clients
        WHERE nom = 'Papou' AND prenom = 'Raymond'),
        (SELECT identree
        FROM entree
        WHERE entree = 'poireaux en vinaigrette'),
        (SELECT idplatresistance
        FROM platresistance
        WHERE platresistance = 'boeuf bourguignon'),
        (SELECT iddessert
        FROM dessert
        WHERE dessert = 'île flottante')
    )

  9. #9
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    donc, si je comprends bien, il faut que j'entre manuellement les entrées ?

    je ne peux pas incrémenter avec les ID de chaque table du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO reservations(datereservation, idclient, identree, idplatresistance, iddessert)
    VALUES ('2009-04-04',
        (SELECT idclient
        FROM clients.idclients1
        WHERE nom AND prenom),
       )
     
    etc....

    tu vas me dire je cherche la petite bête


    en plus, suis à la ramasse sur la syntaxe


    Merci de ta patience

  10. #10
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Tu veux insérer quoi exactement dans ta table de réservations ?
    Tous les clients réservant toutes les combinaisons de plats possibles pour une date vide ?
    Quel est le but ?

  11. #11
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    en fait, je cherche à incrémenter la réservation avec les id de chaque table


    genre entrer le nom et le prénom du client de la table clients avec le code idclients 1 ou idclients 2, le contenu de la table entrée avec le code identree1 ou identree2 etc ....

    J'y arrive bien avec : SELECT entree FROM entree WHERE identree LIKE '1' si j'essaie de faire 1 seule entrée mais le '1' n'est pas supporté dans les entrées multiples

    j'essaie de faire avec le code que tu m'as donné mais je rencontre des erreurs ( faut dire que c'est découverte, bidouille and co )

    un truc un peu dans ce genre là quoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO reservations(idclient)
    (VALUES SELECT nom FROM clients WHERE idclients LIKE '1')

  12. #12
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par christophe.ribet Voir le message
    en fait, je cherche à incrémenter la réservation avec les id de chaque table
    Quoi ?
    Incrémenter : se dit en principe pour un identifiant d'une table.
    Si tu insères des données dans la table reservations, idreservations va s'incrémenter à chaque ligne insérée parce qu'il y a l'instruction AUTO_INCREMENT dans le script de création de la table.

    Quand tu dis 'de chaque table', tu parles bien de tables SQL et non pas de tables de restaurant ?


    genre entrer le nom et le prénom du client de la table clients avec le code idclients 1 ou idclients 2, le contenu de la table entrée avec le code identree1 ou identree2 etc ....
    La requête d'insertion que je t'ai donnée fait l'inverse, une vraie opération de base de données relationnelle !
    Les noms et prénoms des clients sont dans la table des clients, ils n'ont pas à figurer dans la table des réservations ! C'est l'idclient qui doit y figurer !
    Idem pour les plats !

    J'y arrive bien avec : SELECT entree FROM entree WHERE identree LIKE '1'
    Encore une fois LIKE '1' est idiot !
    Il vaut mieux écrire = 1 !

    un truc un peu dans ce genre là quoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO reservations(idclient)
    (VALUES SELECT nom FROM clients WHERE idclients LIKE '1')
    Il faut choisir ! C'est soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO la table(lescolonnes)
    VALUES(lesvaleurs)
    Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO la table(lescolonnes)
    SELECT lescolonnescorrespondantes
    FROM uneautretable
    Avec tous les raffinements qu'on veut dans le SELECT tels que JOIN, WHERE...

    Apprend correctement ce que c'est qu'une base de données, lis les tutoriels présents sur developpez.com et ailleurs sur Internet, ça ira beaucoup mieux après.

    Dans quel but fais-tu cette base ?

  13. #13
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    j'y suis presque

    je viens au rapport au plus vite

  14. #14
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Avec tous mes remerciements pour toute cette patience et ces valeureux conseils

    Voilà la finalité de la requête sql pour les champs, il y a juste à changer la valeur des ID pour modifier le contenu de la réservation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO reservations(datereservation, idnom, idprenom, identree, idplatresistance, iddessert)
    VALUES ('2009-04-04',    
        (SELECT nom FROM clients WHERE idclients = 1),
    (SELECT prenom FROM clients WHERE idclients = 1),
        (SELECT entree FROM entree WHERE identree = 1),
        (SELECT platresistance FROM platresistance WHERE idplatresistance = 1),
       (SELECT dessert FROM dessert WHERE iddessert = 2)
    )
    je fais cette base dans le cadre de la formation via Internet que je suis à la Fac de Limoges http://www-tic.unilim.fr/spip/tic.php?page=index

    c'est un exercice en fait, il faudrait que je peaufine quelques truc mais ça viendra plus tard

    le but de l'exercice était de pouvoir gérer les réservations, ce qui je pense à l'avenir pourrait-être gérée via une interface web en php


    on n'a pas beaucoup de temps pour faire les exercices ( dur dur quand comme moi il faut tout apprendre depuis la base avec de seuls support plutôt gigantissimes et pas très axés sur le travail à faire )


    encore un grand merci à toi Philippe j'ai pigé beaucoup de choses gràce à toi

  15. #15
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par christophe.ribet Voir le message
    encore un grand merci à toi Philippe j'ai pigé beaucoup de choses gràce à toi
    Apparemment, tu n'as pas pigé la non redondance des données puisque contrairement à ce que semble indiquer ta requête, tu n'insères pas les identifiants mais les noms, prénoms et plats.

  16. #16
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Apparemment, tu n'as pas pigé la non redondance des données puisque contrairement à ce que semble indiquer ta requête, tu n'insères pas les identifiants mais les noms, prénoms et plats.
    avec les seuls identifiants, on pourrait donc afficher le contenu de la réservation sur une page web sous php ???

    je n'ai pas grand chose à modifier alors

  17. #17
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    tiens ma dernière réponse est pas passée

    dans une interface php le fait de rentrer seulement les ID pourrait appeler les contenus ???

  18. #18
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    En principe on n'affiche jamais les ID qui sont des identifiants anonymes seulement utiles pour les clés primaires et les jointures à l'intérieur de la base de données.

    Le principe de l'interface est plutôt d'afficher les données en clair (nom + prénom, noms des plats) et de donner à la valeur du contrôle l'identifiant de la donnée, ce qui permet ensuite de construire la bonne requête avec les ID et de l'envoyer au SGBD.

    Mais là on sort du forum "Langage SQL" pour entrer dans le forum "PHP et MySQL".

  19. #19
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Points : 5
    Points
    5
    Par défaut
    c'est vrai qu'on nous demande pas encore ça

    en tout cas un grand merci à toi

    je mets le sujet en résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. INSERT / SELECT sur tables multiples
    Par AlexisB dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/11/2008, 15h17
  2. Insert select dans table temporaire
    Par cyrgan dans le forum Adaptive Server Enterprise
    Réponses: 4
    Dernier message: 19/06/2008, 20h32
  3. Réponses: 9
    Dernier message: 07/02/2008, 13h44
  4. insert into table values/ insert into table select
    Par aaronw dans le forum Requêtes
    Réponses: 4
    Dernier message: 31/05/2005, 15h14
  5. [debutant] select-insert sur tables de bases differentes
    Par RedMax dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/10/2004, 18h59

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