Bonjour à tous,
J'ai un souci au niveau de la sauvegarde de mes modules.
En effet, j'ai un système qui permet l'ajout d'un nouveau module et modification de la position des modules (par glisser-déposer).
Mon système est constitué de 3 étapes :
- 1 : Ajout nouveau module et sauvegarder.
- 2 : Mise à jour de la position des modules.
- 3 : Ajout nouveau module et gestion d'ordre des modules en même et sauvegarde.
Mon problème est que je n'arrive pas à faire ma sauvegarde. Je récupère bien mes données via la console mais je ne les enregistre pas ni les mettre à jour pour le cas de la gestion d'ordre des modules. Merci pour votre aide.
Voici mon code dans le fichier jsfiddle pour ce qui est côté : HTML + CSS + JS :https://jsfiddle.net/mecano/fe7fjzd2/
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 // include connection file require_once('db.php'); if (isset($_POST['datas'])){ $datas = json_decode($_POST['datas']); var_dump($datas); function update_module($id,$rang){ $sql = "UPDATE test_newsletter SET position = :rang WHERE id = :id"; $datas = array(":id"=>$id, ":rang"=>$rang); return queryExec($sql,$datas); } function insert_module($text,$img,$rang,$datatype){ $sql = "INSERT INTO test_newsletter (texte, image, position, datatype) VALUES (:texte, :img, :rang, :type)"; $datas = array(":texte"=>$text, ":img"=>$img, ":rang"=>$rang, ":type"=>$datatype); return queryExec($sql,$datas); } function queryExec($sql,$datas){ global $db; try { $req = $db->prepare($sql); $res = $req->execute($datas); $result = array( 'status'=> $res, 'msg'=>'Module enregistré avec success !', 'debug'=>array("requete"=>$sql, "datas"=>$datas) ); } catch (Exception $e) { //erreur dans la requete $result = array( 'status'=>false, 'msg'=>'Erreur ! '.$e->getMessage(), 'debug'=>array("requete"=>$sql, "datas"=>$datas) ); } return $result; } foreach ($datas as $val) { $id = !empty($val->id) ? $val->id : NULL; $rang = isset($val->rang) ? $val->rang : ""; $text = isset($val->text) ? $val->text : ""; $img = isset($val->img) ? $val->img : ""; $datatype = isset($val->datatype) ? $val->datatype : ""; $debug_count = 0; if ($id && $rang) { $debug_count += 1; $msg = update_module($id,$rang); } else if ($text && $img && $rang && $datatype) { $debug_count += 100; $msg = insert_module($text,$img,$rang,$datatype); } else if ($id && $text && $img && $rang && $datatype) { $debug_count += 10000; $msg = update_module($id,$rang); $msg = insert_module($text,$img,$rang,$datatype); } else { $debug_count += 100000; $msg = array( 'status'=>false, 'msg'=>"Erreur ! Echec de mise à jour !", 'debug'=>$_POST ); } } }
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
41
42
43
44
45
46
47
48
49
50 // Partie affichage de mes modules // Contenu de la table `newsletter` INSERT INTO `test_newsletter` (`id`, `texte`, `image`, `position`, `datatype`) VALUES (1, 'NULL', 'http://zupimages.net/up/17/32/bgot.jpg', '4', 'images'), (2, 'Oportunum est, ut arbitror, explanare nunc causam, quae ad exitium praecipitem.', 'http://zupimages.net/up/17/32/bgot.jpg', '5', 'texte-image'), (3, 'Oportunum est, ut arbitror, explanare nunc causam, quae ad exitium praecipitem.', 'NULL', '6', 'textes'); <div id="bloc_2"> <?php foreach ($rows as $row) { switch ($row['datatype']) { case "images": ?> <div id="div_1" class="drag-drop" data-id="<?=$row['id'];?>" data-position="<?=$row['position'];?>" data-type="images"> <img src="<?=$row['image'];?>" width="120" height="70"> <img src="<?=$row['image_2'];?>" width="120" height="70"> </div> <?php break; case "texte-image": ?> <div id="div_2" class="drag-drop" data-id="<?=$row['id'];?>" data-position="<?=$row['position'];?>" data-type="texte-image"> <div class="size-paragraphe margin-elt"><?=$row['texte'];?></div> <div><img src="<?=$row['image'];?>" width="50" height="50"></div> </div> <?php break; case "image-texte": ?> <div id="div_2" class="drag-drop" data-id="<?=$row['id'];?>" data-position="<?=$row['position'];?>" data-type="image-texte"> <div class="margin-elt float-elt"><img src="<?=$row['image'];?>" width="50" height="50"></div> <div class="size-paragraphe"><?=$row['texte'];?></div> </div> <?php break; case "textes": ?> <div id="div_3" class="drag-drop" data-id="<?=$row['id'];?>" data-position="<?=$row['position'];?>" data-type="textes"> <p class="size-paragraphe"><?=$row['texte'];?></p> <p class="size-paragraphe"><?=$row['texte'];?></p> </div> <?php break; default: echo ''; } } ?> </div>
Partager