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 sur deux tables


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut Requête sur deux tables
    bonjour a tous j ai une question j en suis sur toute bête. !!! lol

    voila jai 2 tables 1 ville (id, libellé de la ville) et une autre tarif (id, libéllé ville de départ, libéllé ville d arrivée, tarif)

    comme vous voyer ca me donne le prix entre 2 villes

    comment envoyé une requete venu de 2 liste deroulante sur la table tarif et qu il selectionne la ville de depart et ville d arrivée pour afficher donc le tarif dans le champs. La je galere severe !!!!!

    comment remplacer les noms des villes par tout simplement l id de la table ville

    et comment importer ma liste deroulante depuis ma table ville ca serait mieux car je l ai ecrite en html
    j espere avoir ete assez clair sur ma demande

    merci d avance a tous ceux qui voudront me donner quleques conseil car a ce niveau je bloque total

    a+

    EDIT : au fait : table sur myqsl !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    a mon avis, il faudrait que tu modifies ta table "tarifs" :
    - idtarif
    - idvilledepart
    - idvillearrivee
    - tarif
    en gardant la table "ville" :
    - idville
    - nomville (ou libelleville si tu préfères ...)

    Dans ton formulaire (les listes deroulantes) , tu listes à partir de la table "ville":
    liste1 :
    <input ... value="idville1">ville de depart
    liste2 :
    <input ... value="idville2">ville d'arrivée

    "idville1" et "idville2" viennent de idville
    "ville de depart" et "ville d'arrivée" viennent de nomville

    Tu compares ensuite dans la table "tarifs" :
    idville1 à idvilledepart
    idville2 à idvillearrivee

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    je te remercie d avoir pris le temps de répondre !!!

    je vais essayé d appliquer toutes tes infos ce soir!!!

    si dans la table tarif j ecris 1 a id ville depart
    comment savoir qu il sait que ca viens de l id de la table 1 soit premiere ville.

    Il va pas s emmeler en croyant que c est une nouvelle numerotation.je voudrais bien qu il comprenne que ca viens de la table ville et que ca corespond a l id d une ville

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    ta ligne input vallu j arrive pas a faire la requete tu peux stp me la detaille
    je doit la glissé dans la réponse = mysql_query(""); ou apres les ... je met quoi
    merci d avance

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je reprends :

    ta table "ville" :
    - idville
    - nomville (ou libelleville si tu préfères ...)

    ta table "tarifs" :
    - idtarif
    - idvilledepart
    - idvillearrivee
    - tarif

    Le formulaire :
    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
    <?php // connexion a la base ...............................
    ?>
    <form name="meslistes" method="POST" action="traiterform.php">
    <?php
    // liste des villes de depart
       echo 'Votre ville de départ : <br/>';
       $SQL = 'SELECT * FROM ville ORDER BY ville ASC';
       $result = mysql_query($SQL);
       echo '<select>';
       while ($val = mysql_fetch_array($result)) {
          echo '<option value="'.$val['idville'].'">'.$val['nomville'].'</option>';
       }
       echo '</select><br/>';
    // liste des villes d arrivee
       echo 'Votre ville d\'arrivée : <br/>';
       $SQL = 'SELECT * FROM ville ORDER BY ville ASC';
       $result = mysql_query($SQL);
       echo '<select>';
       while ($val = mysql_fetch_array($result)) {
          echo '<option value="'.$val['idville'].'">'.$val['nomville'].'</option>';
       }
       echo '</select><br/>';
       <input type="Submit" name="Submit" value="Valider">
    </form>
    <?php // deconnexion de la base ...............................
    ?>
    Le fichier traiterform.php (celui qui traite les données recues du formulaire) :
    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
     
    <?php
    // connexion a la base ...............................
    // ...................
    if (isset($_POST['iddepart'] && isset($_POST['idarrivee']) {
       // recuperation des donnees
       $iddepart = intval($_POST['iddepart']);
       $idarrivee = intval($_POST['idarrivee']);
       // ...................
       // recuperation des noms des villes dans "villes" (pour affichage)
       // depart
       $SQL_A = 'SELECT * FROM ville WHERE idville = '.$iddepart;
       $result_A = mysql_query($SQL_A);
       $val_A = mysql_fetch_array($result_A);
       // arrivee
       $SQL_B = 'SELECT * FROM ville WHERE idville = '.$idarrivee;
       $result_B = mysql_query($SQL_B);
       $val_B = mysql_fetch_array($result_B);
       // ...................
       // recherche dans la table "tarif" + "ville" (noms des villes pour affichage)
       $SQL = 'SELECT * FROM tarifs WHERE idvilledepart = '.$iddepart.' AND idvillearrivee = '.$idarrivee;
       $result = mysql_query($SQL);
       // ...................
       // affichage du résultat  
       while ($val = mysql_fetch_array($result)) {
          echo 'Trajet de '.$val_A['nomville'].' à '.$val_B['nomville'].'<br/>';
          echo 'Tarif : '.$val['tarif'].' euros';
       }
    }
    // ...................
    // deconnexion de la base ...............................
    ?>
    PS : la recherche prend en compte un trajet A-->B, mais pas B-->A !
    il faut donc savoir si un trajet A--> B a le meme tarif qu'un trajet B-->A, auquel cas une adaptation de la recherche est peut-etre a faire ... (a voir aussi comment tu as organisé la table tarifs)

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Par défaut
    j abuse encore mais tu peux m aider pour faire mes deux menus deroulant directement des listes car le code input j ai pas reussi a le faire marché

    tu laurais détaillé

    merci encore Sympa

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    oublie l'"input" !
    Tes 2 listes deroulantes sont dans mon code : "Le formulaire"
    (select ... option ...)

Discussions similaires

  1. Aide pour une requête sur deux tables
    Par Andry dans le forum Développement
    Réponses: 2
    Dernier message: 05/11/2007, 07h14
  2. [Access] Fonction TOP dans une requête sur deux tables
    Par pc75 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/07/2007, 09h31
  3. Requête sur deux tables et réponses en colonnes
    Par grandoc dans le forum Requêtes
    Réponses: 2
    Dernier message: 19/12/2006, 12h49
  4. Requête sur deux tables en même temps
    Par will89 dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/04/2006, 11h01
  5. Problème de requêtes sur deux tables
    Par Pymm dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2005, 09h06

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