Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[MySql/Php]requete jointure de table Inoodb

alucard67, le vendredi 25 mai 2007 à 10:07:49
Bonjour, je suis en train de fair un programme et j'ai quelque difficulté pour remplir ma base de données.

Alors voila ce que j'essay de faire:

Dans un premier temps je remplie une table "equipements" avec l'identifiant ID_E
ensuite je rempli une autre table "cartes" avec l'identifiant ID_C

ensuite pour fair le lien je creer une autre table relation avec les ID de mes deux tables qui sont ID_C et ID_E.

je veux que quand je rentre une données dans la table equipement et carte , les ID de ces derbniers soient mise a jour dans ma table .

pour ce fair j'ai rentré ces lignes dans phpmyadmin:

CREATE TABLE cartes ( 
  ID_C tinyint(5) NOT NULL auto_increment, 
  description varchar(256) NOT NULL default '', 
  Serial varchar(250) NOT NULL default '', 
  HW_Version varchar(256) NOT NULL default '', 
  SW_Version varchar (256) NOT NULL default '', 
  PRIMARY KEY  (ID_C) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

CREATE TABLE equipements ( 
  ID_E tinyint(5) NOT NULL auto_increment, 
  IP varchar(20) NOT NULL default '', 
  marque varchar(20) NOT NULL default '', 
  nom varchar(20) NOT NULL default '', 
  PRIMARY KEY  (ID_E) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

CREATE TABLE `relation` ( 
`ID_C` TINYINT( 5 ) NOT NULL , 
`ID_E` TINYINT( 5 ) NOT NULL , 
FOREIGN KEY ( ID_C ) REFERENCES cartes( ID_C ) ON DELETE CASCADE ON UPDATE CASCADE , 
FOREIGN KEY ( ID_E ) REFERENCES equipements( ID_E ) ON DELETE CASCADE ON UPDATE CASCADE 
) ENGINE = InnoDB DEFAULT CHARSET = latin1 ;


et lorque je lance mon programme voila ce qu'affiche ma page

Erreur SQL dans la table relation !INSERT INTO relation(ID_C, ID_E) VALUES('projet.cartes.ID_C','projet.equipements.ID_E') 
Cannot add or update a child row: a foreign key constraint fails (`projet/relation`, CONSTRAINT `relation_ibfk_2` FOREIGN KEY (`ID_E`) REFERENCES `equipements` (`ID_E`) ON DELETE CASCADE ON UPDATE CASCADE)


et les requetes que j'execute dans mon script php:

le voici :


/////AJOUT DES INFO DANS LA TABLE CARTES//////// 
   for ($i=1;$i<=16;$i++) 
    
{ 

    $description=lire_ligne('reponse_snmp_motorola.txt',$i+16); 
    $serial=lire_ligne('reponse_snmp_motorola.txt',$i+32); 
    $HW=lire_ligne('reponse_snmp_motorola.txt',$i+48); 
    $SW=lire_ligne('reponse_snmp_motorola.txt',$i+64); 
    

    $sql = "INSERT INTO cartes(ID_C, description, serial, HW_version, SW_version) VALUES('','$description','$serial','$HW','$SW')"; 
      
    // on insère les informations dans la table 
    mysql_query($sql) or die('Erreur SQL dans la table Carte !'.$sql.'<br>'.mysql_error()); 
} 

////AJOUT DES INFOS DANS LA TABLE EQUIPEMENTS////// 

    $sql2 = "INSERT INTO equipements(ID_E, IP, marque, nom) VALUES('','$IP2','Motorola','$nom2')"; 
    mysql_query($sql2) or die('Erreur SQL dans la table Equipement !'.$sql2.'<br>'.mysql_error()); 
    
//////AJOUT DES INFOS DANS LA TABLE RELATIONS////

    $sql3= "INSERT INTO relation(ID_C, ID_E) VALUES('projet.cartes.ID_C','projet.equipements.ID_E')"; 
    mysql_query($sql3) or die ('Erreur SQL dans la table relation !'.$sql3.'<br>'.mysql_error()); 



voila et je ne voi vraiment pas d'ou viens l'erreur je me suis casser les dents la dessus 2 jour , alors si une ame charitable voudrai bien voler a mon secour je lui serai tre tre reconnaissant.

merci d'avance!
Configuration: Windows 2000
Internet Explorer 6.0
Répondre à alucard67  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 alucard67, le vendredi 25 mai 2007 à 14:27:54
Probleme reglé.
en fait pas besoin de ma table relation, il falait juste ajouter un champ ID_E dans la table carte et fair le lien grace a

mysql_insert_id();

voila j'espere que ca servira à quelqu'un
Répondre à alucard67

Résultats pour [MySql/Php]requete jointure de table Inoodb

Installation rapide de LAMP (Apache+MySql+php) sous Linux LAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL... www.commentcamarche.net/faq/sujet-7971-installation-rapide-de-lamp-apache-mysql-php-sous-linux
[PHP/MYSQL] Afficher une jointure (Résolu) Bonjour, Le PC que j'utilise est un AMD 1300 MHz avec 256 Mo Ram et son système d'exploitation est Windows 2000 Server. Je suis en train de réaliser une SGBD avec MySQL, PHP et Apache. Je voudrais afficher une jointure dans une table. Voici... www.commentcamarche.net/forum/affich-2717855-php-mysql-afficher-une-jointure
Requete MySQL => tableau associatif PHP (Résolu) Bonjour, Je fais encore une fois appel a vous pour m'eclairer sur un point ! qui est de recuperer le resultat d 'une requete MySQL sous forme de tableau associatif PHP . pour exemple: soit la requete SQL suivante . $sql ="SELECT... www.commentcamarche.net/forum/affich-6043182-requete-mysql-tableau-associatif-php

Résultats pour [MySql/Php]requete jointure de table Inoodb

MySQL - Update avec jointureSi vous avez deux tables possédant une clé commune (dans le cas ci-dessous il s'agit de la clé primaire "id"), il est possible de mettre à jour un champ d'une des deux tables (update_table) grâce aux données de la seconde (reference_table) à l'aide... www.commentcamarche.net/faq/sujet-10426-mysql-update-avec-jointure

Résultats pour [MySql/Php]requete jointure de table Inoodb

Migrer une table ACCESS vers MySQL (Résolu)Bonjour, J'aimerai savoir comment migrer une base de données contenant (au minimum) une table provenant de ACCESS 2000 vers MySQL. Pour créer mon site, j'utilise à la fois EasyPHP (contient : PHMmyAdmin, MySQL, PHP, Apache) dont la version... www.commentcamarche.net/forum/affich-4134385-migrer-une-table-access-vers-mysql
[MYSQL] Problème jointure champs vide (Résolu)Bonjour, Je vous explique mon soucis : Je fais une requete avec une jointure table personne(id_pers,nom_pers,id_serv) table service(id_serv,nom_serv) Quand je selectionne toutes les personnes avec le nom du service : SELECT * FROM personne p,service s... www.commentcamarche.net/forum/affich-7046618-mysql-probleme-jointure-champs-vide
MySQL Ajouter une table à une autre table (Résolu)Bonjour tout le monde... après recherches infructuseuses, je viens demander aide... Je cherche à copier une sélection d'une table MySQL dans une autre table qui n'est pas vide avec du code PHP. $query = "INSERT INTO table_dest SELECT * FROM... www.commentcamarche.net/forum/affich-2398798-mysql-ajouter-une-table-a-une-autre-table

Résultats pour [MySql/Php]requete jointure de table Inoodb

Télécharger WAMP ServerWAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de développer des sites Web dynamiques à l'aide du serveur Apache, du language de scripts PHP5 et d'une base de données MySQL version... www.commentcamarche.net/telecharger/telecharger-34055064-wamp-server
Télécharger WordPressWordPress permet de faire de la publication personnelle. Il s’utilise comme éditeur de blogs ou gestionnaires des contenus (texte, photo…). Le tout fait appel à l’utilisation de MySQL/PHP. WordPress offre ainsi les fonctions de base nécessaires à... www.commentcamarche.net/telecharger/telecharger-34055460-wordpress