Problème insert into

PHP MyAdmin

a marqué ce sujet comme résolu.

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

Hello,

Tu as visiblement déjà posté ton problème ici.

Essaie de n’ouvrir de nouveaux topics que quand tu changes réellement de sujet, pas à chaque bug sur une même fonctionnalité.

Surtout si des gens ont déjà fait l’effort de te répondre… ;-)


Je me permets donc de fermer ce topic pour laisser l’autre en priorité.

N’hésite pas à me contacter directement si besoin.

Ce sujet est verrouillé.