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

Fermé
marcelpeju22 Messages postés 8 Date d'inscription samedi 10 octobre 2015 Statut Membre Dernière intervention 9 mars 2016 - 14 oct. 2015 à 21:43
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - 15 oct. 2015 à 10:21
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?
A voir également:

1 réponse

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
15 oct. 2015 à 10:21
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