Bonjour,
je débute en base de données, j'ai créé une table vide et dans mon code j'ai créé un fichier index.php qui contient mon code sql et qui rempli ma table et dans un autre fichier (functions.php) j'ai créé un array associatif qui s'appelle $tStock et qui contient des ingrédients et qui sera appelé dans index.php pour être écris dans ma table. Mon problème est que quand j'actualise ma page le array $tStock est mis dans ma table une seconde fois ce que je ne veux pas.
Donc je souhaitais savoir comment on fait pour que quand j'ai inséré mes données dans ma table la première fois si j'actualise sa ne me met pas une deuxième fois le array $tStock dans ma table.
Voici mon code que j'ai simplifié :
Fichier index.php :
Fichier functions.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php include 'functions.php'; //inclusion du fichier functions.php dans l'index.php? try{ $bdd=new PDO("mysql:host=localhost; dbname=test; charset=utf8", "root", "", array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); } catch(Exception $e){ die('Erreur :' .$e->getMessage()); } $req = $bdd->prepare('INSERT INTO stockingredientmachinecafe(ingredient, quantite) VALUES (:ingredient, :quantite) '); foreach($tStock as $key=>$val){ $req->execute(array('ingredient'=>$key, 'quantite'=>$val)); } $req->closeCursor(); $rep=$bdd->query('SELECT * FROM stockingredientmachinecafe')or die(print_r($bdd->errorInfo())); while($donnees = $rep->fetch()) { echo $donnees['ingredient']." = ".$donnees['quantite']."<br>"; } $rep->closeCursor(); ?> <!DOCTYPE html> <html> <head> <title>Machine à café</title> <meta charset="utf-8" /> <link href="styles.css" rel="stylesheet" type="text/css"/> </head> <body> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $tStock=array('café'=> $cafe=5, 'chocolat' => $chocolat=5, 'thé' => $the=5, 'lait'=>$lait=5, 'sucre'=>$sugar=5, 'eau'=>$eau=15); ?>
Partager