Votre question

Relation table sql

Tags :
  • Sql
  • Programmation
Dernière réponse : dans Programmation
21 Juin 2011 12:25:44

j'ai deux table membres (id_membres, pseudo, pass, date_enregistrement) credit (id, client, designation, prixuni, qt, prixtota, id_credit) je veux relier ces deux table pour quand un membres ce connecte et qu'il veux affiche les enregistrement de la table crédit il affiche que les enregistrement qui en était enregistré par luis et pas les enregistrement enregistré par tout les membres. pouvez vous m'aide?? je serai vraiment reconnaissent.merci.

Autres pages sur : relation table sql

a c 232 L Programmation
21 Juin 2011 13:15:38

Salut,

Il faut dans ce cas que tu aies un ID dans ta table credit qui soit une foreign key de membres, afin que tu puisses relier les 2 tables.
Ensuite tu pourras faire:
SELECT * FROM credit WHERE id_membre = tonID
m
0
l
21 Juin 2011 15:40:19

OmaR a dit :
Salut,

Il faut dans ce cas que tu aies un ID dans ta table credit qui soit une foreign key de membres, afin que tu puisses relier les 2 tables.
Ensuite tu pourras faire:
SELECT * FROM credit WHERE id_membre = tonID

j'ai une version ancienne de php 3.0 il connais pas forgeign key je l 'ai déjà essayé et ca na rien donné , y as pas une autre solution qui marche avec easyphp3???

m
0
l
Contenus similaires
a c 232 L Programmation
21 Juin 2011 16:00:26

T'es pas obligé de faire une vraie foreign key.
Il suffit juste d'ajouter une colonne id_membre dans ta table credit
et quand tu insères tes données dans credit, tu insères l'ID de ton membre
m
0
l
21 Juin 2011 16:57:00

merci :)  vraiment j ai pas réflechie a cett solution je vais l essayé merci :) 
m
0
l
21 Juin 2011 16:57:22

OmaR a dit :
T'es pas obligé de faire une vraie foreign key.
Il suffit juste d'ajouter une colonne id_membre dans ta table credit
et quand tu insères tes données dans credit, tu insères l'ID de ton membre

merci :)  vraiment j ai pas réflechie a cett solution je vais l essayé merci :) 
m
0
l
22 Juin 2011 15:18:21

OmaR a dit :
T'es pas obligé de faire une vraie foreign key.
Il suffit juste d'ajouter une colonne id_membre dans ta table credit
et quand tu insères tes données dans credit, tu insères l'ID de ton membre

j'ai réessayé et ca a marché mais quand j'execute mon script il m'affiche un msg d'erreur (Field 'id_credit' doesn't have a default value)

voila le scripte d'insertion:
<?php
header('Content-type: text/html; charset=UTF-8');
function Verif_magicquotes ($chaine)
{
if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);

return $chaine;
}

$client=$_POST['client'];
$designation=$_POST['designation'];
$prixuni=$_POST['prixuni'];
$qt=$_POST['qt'];

function prixtota($prixuni, $qt)
{
$prixtota = $prixuni * $qt ; // calcul du volume
return $prixtota; // indique la valeur à renvoyer, ici le volume
}

$prixtota = prixtota($prixuni, $qt);

if(isset($client,$designation,$prixuni,$qt,$prixtota))
{
$hostname = "";
$database = "";
$username = "";
$password = "";

$connection = mysql_connect($hostname, $username, $password) or die(mysql_error());

mysql_select_db($database, $connection);

$insertion = "INSERT INTO credit(client,designation,prixuni,qt,prixtota) VALUES('".$client."','".$designation."', '".$prixuni."','".$qt."','".$prixtota."')";

$inser_exec = mysql_query($insertion) or die(mysql_error());

ou est le problème??? normalement avec ce code ( ALTER TABLE credit ADD FOREIGN KEY (id_credit) REFERENCES membres(id_membres); ) je relier mais deux champ alor pour quoi il m'affiche que le champ id_credit n as pas une valeur??
m
0
l
a c 232 L Programmation
22 Juin 2011 16:37:32

Oula... Pourquoi la colonne id_credit devrait référencer la colonne membres(id_membres) ?
Ta colonne id_credit ne te sert pas de clé primaire pour ta table credits ?
Et si tu veux en faire une foreign key, mieux vaut l'appeler id_membre !

Et là, l'erreur vient du faire que la colonne id_credit n'a pas de valeur par défaut définie, et que tu n'insères pas de valeur dans la colonne id_credit avec ta requête INSERT. Du coup, il ne peut pas insérer ta ligne vu qu'il n'y a pas de valeur spécifiée pour la colonne id_credit.
m
0
l
22 Juin 2011 16:49:46

OmaR a dit :
Oula... Pourquoi la colonne id_credit devrait référencer la colonne membres(id_membres) ?
Ta colonne id_credit ne te sert pas de clé primaire pour ta table credits ?
Et si tu veux en faire une foreign key, mieux vaut l'appeler id_membre !

Et là, l'erreur vient du faire que la colonne id_credit n'a pas de valeur par défaut définie, et que tu n'insères pas de valeur dans la colonne id_credit avec ta requête INSERT. Du coup, il ne peut pas insérer ta ligne vu qu'il n'y a pas de valeur spécifiée pour la colonne id_credit.


$idmembres= ("SELECT ID_membres, id_credit FROM membres,credit WHERE membres.ID_membres=credit.id_credit");

$insertion = "INSERT INTO credit(client,designation,prixuni,qt,prixtota,id_credit) VALUES('".$client."','".$designation."', '".$prixuni."','".$qt."','".$prixtota."','".$idmembres."')";

j'ai fait comme cela pour inserer la valeur de ID_membres dans id_credit mais rien
voici le msg d'erreur Incorrect integer value: 'SELECT ID_membres, id_credit FROM membres,credit WHERE membres.ID_membres=credit.id_credit' for column 'id_credit' at row 1

et pour id_credit non elle me sert pas comme clé primaire j'ai id comme clé primaie j'ai crée id_credit pour intégrer la valeur de ID_membres
m
0
l
a c 232 L Programmation
22 Juin 2011 18:34:43

Oula...
Il faut faire des mysql_query si tu veux récupérer des données depuis ta base MySQL.
Ecrire une requête toute seule ne fait rien du tout.


Et il faut que tu récupères l'ID d'un membre spécifique, avec ta requête, tu récupères tous les IDs une fois joints avec la table credit
m
0
l
23 Juin 2011 15:15:16

OmaR a dit :
Oula...
Il faut faire des mysql_query si tu veux récupérer des données depuis ta base MySQL.
Ecrire une requête toute seule ne fait rien du tout.


Et il faut que tu récupères l'ID d'un membre spécifique, avec ta requête, tu récupères tous les IDs une fois joints avec la table credit

c'est ca le probleme j'ai pas put fair une jointure avec mais table j'ai essayé plusieur programme mais rien j'ai un ancienne version de php je crois que c'est acause de ca
m
0
l
a c 232 L Programmation
23 Juin 2011 17:10:28

Aucun rapport avec le fait que ce soit une ancienne version
m
0
l
24 Juin 2011 13:24:45

OmaR a dit :
Aucun rapport avec le fait que ce soit une ancienne version

mais quand je fait une jointure soit avec JOIN soit avec les clé étrangère il m'informe que la syntaxe n'est pas compatible
m
0
l
a c 232 L Programmation
24 Juin 2011 19:12:44

Bah quelle est la syntaxe que tu utilises ?
Parce que si ça ressemble à ce que tu m'as mis plus haut, c'est pas étonnant...
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS