Bonjour,
j’essaie d’insérer dans une table (test) le résultat d’une requête faite sur une première table crf_pin_not je souhaite ré-utiliser le code que m’a fournit Ymox pour un autre problème mais cela ne fonctionne pas je n’ai pas de bugg mais je créé des ligne vides dans ma table ’test’
alors lorsque je contrôle ma variable $_POST[’Lignes’], j’ai bien un array avec les valeurs que je souhaite intégrer dans ma table test :
1 2 3 4 5 6 7 8 9 10 | C:\wamp64\www\mereva_dms\data_recherche2.php:14: array (size=2) 1 => array (size=2) 'PIN_NOT_CLE' => string '1' (length=1) 'PAT' => string 'CINT001' (length=7) 2 => array (size=2) 'PIN_NOT_CLE' => string '2' (length=1) 'PAT' => string 'CINT002' (length=7) |
j’ai aussi contrôler le format de mes variables dans ma table ’test’ (VARCHAR 255)
je pensais avoir bien compris ce code mais quelque chose doit m’échapper…
data_recherche1.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php //*Connexion à la base de données try { // On se connecte à MySQL $bdd = new PDO('mysql:host=localhost;dbname=dms;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch(Exception $e) { // En cas d'erreur, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } // Partie "Requête" $sql = 'SELECT * FROM `CRF_PIN_NOT` WHERE PIN_NOT_DAT="" '; $query = ($sql); /* On prépare la requête à son exécution. Les marqueurs seront identifiés */ $query = $bdd->prepare($query); /* On lie ici une valeur à la requête, soit remplacer de manière sûre un marqueur par sa valeur, nécessaire pour que la requête fonctionne. */ //$query->bindValue('limite',$limite,PDO::PARAM_INT); $result = $query->execute(); ?> <form name="update" action="data_recherche2.php" method="POST"> <?php while($element= $query -> fetch()) { ?> <input class="cor" type="text" name="lignes[<?php echo $element['PIN_NOT_CLE']; ?>][PIN_NOT_CLE]" value="<?php echo $element['PIN_NOT_CLE'] ;?>"> <input class="cor" type="text" name="lignes[<?php echo $element['PIN_NOT_CLE']; ?>][PAT]" value="<?php echo $element['PAT'] ;?>"> <?php } ?> <input class="modifier" type="submit" value="Modifier"> </form> |
data_recherche2.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <?php //connection au serveur try { // On se connecte à MySQL $bdd = new PDO('mysql:host=localhost;dbname=dms;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch(Exception $e) { // En cas d'erreur, on affiche un message et on arrête tout die('Erreur : '.$e->getMessage()); } var_dump($_POST['lignes']); //préparation de la requête //$requete = "INSERT INTO `test`(`id`, 'pat') VALUES (id = :id, pat = :patient)"; $requete = "INSERT INTO test (id, pat) VALUES (id = :id, pat = :patient)" ; /* On prépare la requête à son exécution. Les marqueurs seront identifiés */ $result = $bdd->prepare($requete); $result->bindParam('id',$id,PDO::PARAM_STR); $result->bindParam('patient',$patient,PDO::PARAM_STR); foreach($_POST['lignes'] as $key => $donneesLigne) { $id=$donneesLigne['PIN_NOT_CLE']; $patient=$donneesLigne['PAT']; $result->execute(); } //affichage des résultats, pour savoir si la modification a marchée: if($requete) { echo("La modification à été correctement effectuée") ; } else { echo("La modification à échouée") ; } ?> ` |
+0
-0