Update sur deux tables
Résolu
nestor94
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
nestor94 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
nestor94 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
le script suivant fonctionne et je voudrais que les deux valeurs (pos_x et pos_y)soient aussi mises à jour dans une autre table (map) ! J'ai un peu vu ici et là qu'avec un INNER JOIN ca semble fonctionner mais je suis un peu perdu au niveau du "lien" à mettre dans la seconde table ainsi que la requete finale.
je pensais mettre cela en requete ?
par contre le "membre.id" et "map.id" ??????????
le script suivant fonctionne et je voudrais que les deux valeurs (pos_x et pos_y)soient aussi mises à jour dans une autre table (map) ! J'ai un peu vu ici et là qu'avec un INNER JOIN ca semble fonctionner mais je suis un peu perdu au niveau du "lien" à mettre dans la seconde table ainsi que la requete finale.
<?php session_start(); require_once 'config.php'; $pos_x_min = 0; $pos_x_max = 500; $pos_y_min = 0; $pos_y_max = 500; $pos_x = mt_rand($pos_x_min,$pos_x_max); $pos_y = mt_rand($pos_y_min,$pos_y_max); $id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL; $pdostat = $bdd->prepare('UPDATE membres SET pos_x= :pos_x, pos_y= :pos_y WHERE id= :id'); $pdostat->bindvalue(':pos_x',$pos_x, PDO::PARAM_INT); $pdostat->bindvalue(':pos_y',$pos_y, PDO::PARAM_INT); $pdostat->bindValue(':id', $id, PDO::PARAM_INT); $pdostat->execute(); $_SESSION['pos_x'] = $pos_x; $_SESSION['pos_y'] = $pos_y; header('Location: page_membre.php'); exit; ?>
je pensais mettre cela en requete ?
$pdostat = $bdd->prepare('UPDATE membres SET membres.pos_x= :map.pos_x, membres.pos_y= :map.pos_y FROM membres INNER JOIN map ON membres.id = map.id WHERE id= :id');
par contre le "membre.id" et "map.id" ??????????
A voir également:
- Update sur deux tables
- Windows update bloqué - Guide
- Comment faire deux colonnes sur word - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Deux ecran pc - Guide
3 réponses
J'ai mal formulé mon besoin, en fait c'est un insert que je dois réaliser dans une seconde table.
pas de message erreur et la table map est non renseignée.
<?php session_start(); require_once 'config.php'; $pos_x_min = 0; $pos_x_max = 500; $pos_y_min = 0; $pos_y_max = 500; $pos_x = mt_rand($pos_x_min,$pos_x_max); $pos_y = mt_rand($pos_y_min,$pos_y_max); $id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL; $pdostat = $bdd->prepare('UPDATE membres SET pos_x= :pos_x, pos_y= :pos_y WHERE id= :id'); $pdostat->bindvalue(':pos_x',$pos_x, PDO::PARAM_INT); $pdostat->bindvalue(':pos_y',$pos_y, PDO::PARAM_INT); $pdostat->bindValue(':id', $id, PDO::PARAM_INT); $pdostat->execute(); $_SESSION['pos_x'] = $pos_x; $_SESSION['pos_y'] = $pos_y; $sql = "INSERT INTO map (pos_x, pos_y) VALUES(:pos_x, :pos_y);"; try{ $prep = $bdd->prepare($sql); $prep ->bindvalue(':pos_x',$pos_x, PDO::PARAM_INT); $prep->bindvalue(':pos_y',$pos_y, PDO::PARAM_INT); header('Location: page_membre.php'); exit; }catch(Exception $e){ //en cas d'erreur dans la requete echo "Erreur " . $e->getMessage(); } ?>
pas de message erreur et la table map est non renseignée.
Tu as oublié le execute pour ta seconde requete