Requetes sur des tables aux meme temps
bella-nk
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
bella-nk Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
bella-nk Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
j'ai 3tables je voudrais que quand j'insère dans la table1 il y'ait une autre requete qui se declenche et qui prend l'id que j'ai inserer dans la premiere il recupere avec des champs dans la 2eme table et puis les insenrent dans la 3eme... voila tous ça.
ici j'ai un formulaire qui insere les données dans la bdd (premiere table):
jusque la tous marche mais quand je rajoute le code qui suivra la page en question ne s'affiche plus et je ne sais pas comment y remedier!!!
j'ai 3tables je voudrais que quand j'insère dans la table1 il y'ait une autre requete qui se declenche et qui prend l'id que j'ai inserer dans la premiere il recupere avec des champs dans la 2eme table et puis les insenrent dans la 3eme... voila tous ça.
ici j'ai un formulaire qui insere les données dans la bdd (premiere table):
if (isset($_POST["emplacement_actuel"]) and isset($_POST["id_boitier"]) and isset($_POST["id_borne1"]) and isset($_POST["id_borne2"]) and isset($_POST["id_borne3"])) { $empborn=$_POST['emplacement_actuel']; $id_boi=$_POST['id_boitier']; $id_bor1=$_POST['id_borne1']; $id_bor2=$_POST['id_borne2']; $id_bor3=$_POST['id_borne3']; if (empty($_POST['emplacement_actuel']) or empty($_POST['id_boitier']) or empty($_POST['id_borne1'])) { echo "Veuillez entrer un emplacement et un identifiant avec celui de la borne qui lui correspond"; } else { $req = $bdd->prepare('INSERT INTO EmplacementBorne(emplacement_actuel, id_boitier, id_borne1, id_borne2, id_borne3) VALUES (:emplacement_actuel, :id_boitier, :id_borne1, :id_borne2, :id_borne3)'); $req->execute(array( 'emplacement_actuel' => $empborn, 'id_boitier' => $id_boi, 'id_borne1' => $id_bor1, 'id_borne2' => $id_bor2, 'id_borne3' => $id_bor3,));
jusque la tous marche mais quand je rajoute le code qui suivra la page en question ne s'affiche plus et je ne sais pas comment y remedier!!!
$e ='[/contents/1068-sql-commande-select SELECT] ID_vert,ID_rouge from IdBorne WHERE EmplacementBorne.id_borne1 = IdBorne.Num_born'; $re->$bdd->query($e); while($row=$re->fetch()) { $ID_Y=$row['ID_vert']; $ID_N=$row['ID_rouge']; } $rq->closeCursor(); $rq= $bdd->prepare('INSERT INTO FlyportOpinionInfo(ID_YES1,ID_NO1) VALUES (:ID_YES1, :ID_NO1)'); $rq->execute(array( 'ID_YES1' => $ID_Y 'ID_NO1' => $ID_N, ));
A voir également:
- Requetes sur des tables aux meme temps
- Renommer plusieurs fichiers en même temps - Guide
- Table des matières word - Guide
- Combien de temps reste une story sur facebook - Guide
- Temps pour soi iphone - Guide
- Sablier snap temps ✓ - Forum Snapchat
2 réponses
bonjour,
pourquoi tu n'utilises pas de Trigger (déclencheur) ça ferait automatiquement les autres requetes à l'exécution de la première...
pourquoi tu n'utilises pas de Trigger (déclencheur) ça ferait automatiquement les autres requetes à l'exécution de la première...
est ce que tu pourrais s'il te plait m'orienter ou m'aider en me donnant un exemple de comment faire car on m'a deja dit ça mais je ne sais pas comment m'y prendre. Merci
il y a des tutos sympa sur nternet qui permette de comprendre simplement le principe. Tu verras, ce n'est pas très compliqué :
http://fr.openclassrooms.com/informatique/cours/triggers-et-vues-materialisees-mysql/qu-est-ce-qu-un-trigger-1
Un trigger ça ressemble ça :
CREATE TRIGGER recettes_vendeurs_insert_t
BEFORE INSERT ON recettes_vendeurs
FOR EACH ROW
BEGIN
INSERT INTO recettes_jour_mat (rc_date, rc_montant) VALUES (NEW.rc_date, NEW.rc_montant)
ON DUPLICATE KEY UPDATE rc_montant = rc_montant + NEW.rc_montant;
INSERT INTO recettes_mois_mat (rc_year, rc_month, rc_montant)
VALUES (YEAR( NEW.rc_date ), MONTH( NEW.rc_date ), NEW.rc_montant)
ON DUPLICATE KEY UPDATE rc_montant = rc_montant + NEW.rc_montant;
INSERT INTO recettes_vendeur_mois_mat (rc_year, rc_month, vd_id, rc_montant)
VALUES (YEAR( NEW.rc_date ), MONTH( NEW.rc_date ), NEW.vd_id, NEW.rc_montant)
ON DUPLICATE KEY UPDATE rc_montant = rc_montant + NEW.rc_montant;
END//
http://fr.openclassrooms.com/informatique/cours/triggers-et-vues-materialisees-mysql/qu-est-ce-qu-un-trigger-1
Un trigger ça ressemble ça :
CREATE TRIGGER recettes_vendeurs_insert_t
BEFORE INSERT ON recettes_vendeurs
FOR EACH ROW
BEGIN
INSERT INTO recettes_jour_mat (rc_date, rc_montant) VALUES (NEW.rc_date, NEW.rc_montant)
ON DUPLICATE KEY UPDATE rc_montant = rc_montant + NEW.rc_montant;
INSERT INTO recettes_mois_mat (rc_year, rc_month, rc_montant)
VALUES (YEAR( NEW.rc_date ), MONTH( NEW.rc_date ), NEW.rc_montant)
ON DUPLICATE KEY UPDATE rc_montant = rc_montant + NEW.rc_montant;
INSERT INTO recettes_vendeur_mois_mat (rc_year, rc_month, vd_id, rc_montant)
VALUES (YEAR( NEW.rc_date ), MONTH( NEW.rc_date ), NEW.vd_id, NEW.rc_montant)
ON DUPLICATE KEY UPDATE rc_montant = rc_montant + NEW.rc_montant;
END//