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 :

problème simple (scolaire)


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut problème simple (scolaire)
    Bonjour,

    je vous explique mon problème :

    3 tables m'interessent :

    -table1 qui comporte mon id ainsi que la valeur char
    (ex : 'test' => id= 1 ; 'test2' => id = 2 etc...)

    -table2 qui comporte une suite de char espacé d'un espace si plusieurs valeurs.
    (ex : 'test' 'test2' 'test3' etc...)

    -table 3 qui sauvegarde l'id d'une valeur choisie (par menu déroulant).

    1)
    quelle requete dois-je faire pour que que la table 2 me renvoie les id et non pas les noms?

    2)
    comment puis-je mettre, dans mon menu déroulant, les noms des variables et enregistrer leur id?

    je vous remercie de votre aide, d'avance merci.

    Un étudiant.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 29
    Par défaut liens sur tables
    Bonjour,

    Pour pouvoir récupérer des données censées, il faut que les tables puissent être liées entre elles.

    Les liens entre tables s'effectuent par des colonnes communes.

    Dans l'exemple donné, la table 1 à deux colonne ID, TEXT
    elle a un sens.
    Une liste déroulante peut afficher le texte et enregistrer l'ID dans une autre table.
    EX. Code Postal.
    T1 (CODE_POSTAL, VILLE)
    T2: Nom, Prenom, Adresse, CODE_POSTAL
    Si on veut récupérer la ville pour l'afficher dans une requête on fera comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select T2.Nom, T2.Prenom, T2.Adresse, T2.CODE_POSTAL, T1.Ville
    from T2, T1
    where T2.CODE_POSTAL = T1.CODE_POSTAL
    J'espère que ça vous aide.
    Bonne journée.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Merci de votre réponse rapide.

    je réexplique mon problème plus simplement :

    Ma table 1 contient VILLE_ID et NOM_VILLE

    Ma table 2 contient VILLES qui est en fait le résultat de cette fonction :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php 
    $var1 = $toto->listville();
    $var2 = explode(' ', Req::val('villes', ' '));
    ?>
    {!tpl_double_select('villes', $var1, $var2, true, true, 3, 3)} 
    ?>
    explication de ce bout de code qui est mon moyen de selection des villes:
    $var1 retourne toutes les villes de la base.
    $var2 en selectionne quelques unes et les sépare par un espace (' ')

    Mon objectif étant de récupéré cette liste de villes afin de l'inserée dans un menu déroulant ou je devrais en choisir UNE.

    Exemple de ce que j'ai :

    Table 1 :
    VILLE_ID NOM_VILLE
    75 PARIS
    69 LYON
    13 MARSEILLE

    Table 2 :
    VILLES
    LYON MARSEILLE

    je veux avoir le choix entre LYON et MARSEILLE pour ma table 3 et je choisi LYON

    Table 3 :
    VILLE_ID (ou NOM_VILLE)
    69 (ou LYON)

    Peut-etre ai-je besoin d'une étape supplémentaire ...
    Il doit bien y avoir un moyen de lier table 1 et 2, non?

    ++

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 29
    Par défaut méthode pour alimenter une liste déroulante
    Il existe un moyen plus simple... pour alimenter une liste déroulante.

    La liste déroulant de base sur la table ville et la colonne contenant les id est soit cachée soit affichée avec une largeur de 0 ça dépend du programme utilisé. Et une fois la ville sélectionnée on récupère l'id qui se trouve dans la liste déroulante en invisible.

    Je ne sais pas si cette méthode est compatible avec votre environnement de développement....

    Bonne chance.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut environnement de dev
    Malheureusement je ne pense pas :

    je developpe un site web (en php) avec une BDD (avec phpmyadmin).

    Peut etre qu'en copiant mon champ villes dans la bonne table:

    http://www.developpez.net/forums/d74...e/#post4293390

    je pourrais faire un menu déroulant avec une fonction du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <?php 
              $var1= $toto->listes_villes_avec_espace();
              $var2= spliti (" ", $toto, 10);
                ?>
                {fonction_menu_deroulant($var2)}
    Nouveau problème : comment copier un champs d'une table vers une autre ?

    p.s : dslé je suis une quille en SQL ...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 29
    Par défaut alimenter liste deroulante depuis bdd
    Re-Bonjour,

    PHP n'est pas ma spécialité, néanmoins voici un lien que devrait pouvoir aider :
    http://julp.developpez.com/php/formulaires/
    Sous listes déroulantes, il est montré comment générer une liste déroulante alimentée par une base mysql et ils mettent l'id de la ligne en option value.

    Ne pourrait-ce pas être la solution recherchée ?

    Bon courage.

  7. #7
    Membre chevronné Avatar de agemis31
    Profil pro
    DBA
    Inscrit en
    Octobre 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : DBA

    Informations forums :
    Inscription : Octobre 2007
    Messages : 399
    Par défaut
    Bonsoir,

    Quel est votre SGBD ?

    Votre table 2 est anti-relationnelle, c'est pour cela que vous avez des problèmes. Il faudrait mettre les villes en lignes, et pas les mettre à plat dans une colonne.

    Votre fonction va t'elle fonctionner avec une ville dont le nom contient un espace ?

    @+

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    Bonjour gruick_rob.

    Merci pour ce lien je vais voir ce que je peux faire ça me semble une bonne idée de passé directement par la table 1 et sauvegardé la selection dans table 3 directement (si c'est possible...à voir)

    Bonjour agemis31

    effectivement si la ville comporte un espace il faudra mettre un underscore. (saint_etienne par exemple)
    Malheureusement je ne choisi pas ma table 2 elle est imposé et les villes sont espacé d'un espace (fonction php explode mais peut etre qu'en y mettant son inverse -> fonction split, je peu recupérer les nom 1 à 1 et les mettre dans ma liste déroulante)

    Voila 2 solutions interesantes, je vais plancher dessus et vous tenir au courant.

    Merci à vous, bonne journée.

Discussions similaires

  1. [Random] problème simple
    Par yolepro dans le forum Langage
    Réponses: 11
    Dernier message: 23/10/2006, 09h51
  2. Problème simple de carte réseau
    Par Bayard dans le forum Matériel
    Réponses: 1
    Dernier message: 25/09/2006, 16h29
  3. Problème simple avec des checkbox
    Par nanor21 dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2006, 00h26
  4. [Javadoc]La Javadoc et un problème... simple mais paralysant
    Par lionrouge dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/12/2005, 00h00
  5. Problème simple d'apostrophe qui m'ennerve !
    Par beletteroi dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/09/2005, 21h58

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