Entrer dans une table deux informations venant d'une même table

marcelpeju22 Messages postés 8 Statut Membre -  
DelNC Messages postés 2360 Statut Membre -
Bonjour,

Je construis un site transactionnel et je me bute à une petite interrogation pour la construction de ma base de données.

J'ai une table que j'ai appelé "users" où tous les utilisateurs et leurs coordonnés sont contenus. J'ai une autre table qui relaterait l'historique des transactions entre les utilisateurs qui s'échangent ici des heures pour des services. par exemple : François à donnée tel service à Sébastien et en échange, Sébastien a donné trois heures à François.

Sur ma base de données, il faudrait donc qu'il y ait une colonne "ID" une autre qui liste les services (qui viennent d'une autre table, donc "ID_services"), une autre qui dit qui a donné le service (qui se trouve dans "users"), une qui dit le nombre d'heures échangées contre le service, et une dernière qui dit qui a reçu le service (qui se trouve aussi dans "user")

Je ne crois pas pouvoir avoir deux colonnes "ID_users" dans une même table pour afficher deux informations différentes.

Quelqu'un aurait-il une solution à mon problème?

1 réponse

  1. DelNC Messages postés 2360 Statut Membre 2 010
     
    Bonjour

    je pense que si vous mettez des nom et identifiant différents sur les select il ne devrait pas y avoir de soucis

    Première étape, on fait une requête sql pour récupérer les données.
    Ensuite, on mets les données dans le select.
    NB un sélection pour le user1 et un autre pour user2


    echo "<form method='post' action='echange_page.php'>\n";
    echo "<center>";
    echo "<table class=\"green\">";
    echo "<tr><td>Client</td>";
    echo "<td>";

    //recuperation de la liste des users
    $query = "SELECT id_user, nom_user ";
    $query .= "FROM users ";
    $query .= "; ";
    //echo "<br>query = $query <br>";
    $result = execute_query($query);

    //creation select avec liste des users
    echo "<select id='id_user' name='id_user'>";
    while($row = mysql_fetch_array($result)) {
    $id_user = $row[0];
    $nom_user = $row[1];
    echo " <option value='" . $id_user . "'>" . $nom_user . "</option>";
    }//end while
    echo "</select>";
    echo "</td>";
    echo "</tr>";

    //recuperation de la liste des users
    $query = "SELECT id_user, nom_user ";
    $query .= "FROM users ";
    $query .= ";";
    //echo "<br>query = $query <br>";
    $result = execute_query($query);

    //creation select avec liste des users
    echo "<select id='id_user2' name='id_user2'>";
    while($row = mysql_fetch_array($result)) {
    $id_user = $row[0];
    $nom_user = $row[1];
    echo " <option value='" . $id_user . "'>" . $nom_user . "</option>";
    }//end while
    echo "</select>";
    echo "</td>";
    echo "</tr>";
    echo "</table>";


    Dans le select, c'est id_user qui est récupéré et non le nom.

    Pour récupérer les variable

    if(isset($_REQUEST["id_user" ])) {$id_user = $_REQUEST["id_user" ];}
    else {$id_user = "" ;}

    if(isset($_REQUEST["id_user2" ])) {$id_user2 = $_REQUEST["id_user2" ];}
    else {$id_user2 = "" ;}


    Je mettrais les données dans une troisième tables
    exmple tables echanges
    id_echange
    id_user
    id_user2
    date
    id_categorie
    ....
    0