Relation table sql
Dernière réponse : dans Programmation
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
Lassé par la pub ? Créez un compte
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???
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??
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.
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.
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
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
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumPhpmyadmin relation entre table
- ForumPhpmyadmin mysql detecter relation table
- ForumAfficher relation table phpmyadmin
- articlesRelation entre les table suos eccess 2003
- ForumAccess relation entre table
- ForumPblem relation table sous access 2007
- ForumPrb relation table et formulaire
- ForumRelation entre les table phpmyadmin
- ForumRelation table left
- solutionsPhp mysql relation entre table
- Voir plus
vraiment j ai pas réflechie a cett solution je vais l essayé merci