Bonjour,
Dans le cadre d'un projet e-commerce,
J'ai plusieurs checkbox (ce sont des articles stockés dans mysql).
J'ai un bouton ajouter par article, qui récupère l'id, le nom, le prix, et quantite=1.
Jusqu'ici tout est OK
Code PHP : 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 <?php include('database_connection.php'); $query = "SELECT * FROM tbl_product WHERE category = 'PAINS' ORDER BY id DESC"; $statement = $connect->prepare($query); if($statement->execute()) { $result = $statement->fetchAll(); $output = ''; foreach($result as $row) { $output .= ' <label class="checkbox"> <input type="hidden" name="quantity" id="quantity' . $row["id"] .'" value="1" /> <input type="checkbox" name="name" id="name'.$row["id"].'" value="'.$row["name"].'"/> <span>'.$row["name"].'</span> <input type="hidden" name="hidden_price" id="price'.$row["id"].'" value="'.$row["price"].'" /> </label><input type="button" name="add_to_cart" id="'.$row["id"].'" class="button add_to_cart" value="Ajouter" /><div class="tooltip" style="display:none;">Article ajoute</div> '; } echo $output; } ?>
Maintenant, vu que j'ai plusieurs checkbox, je souhaite les combiner pour n'obtenir qu'un seul nom et prix.
Pour ma part, j'ai décidé de les stocker dans un textarea (ca fonctionne) et de récupérer sa value en tant que nouveau nom de l'article.
Pour le prix j'y suis pas encore mais j'ai l'intention de faire un autre textarea sur le meme schema (ou alors explode) (me reste a additionner les valeurs qui seront dedans, je pense m'en sortir mais je n'ai pas encore planché la dessus).
C'est là que ça bloque, et je ne vois meme pas comment m'en sortir, je dois meme carrément me tromper le méthode dès le départ
Ce serait sympa si vous pouviez jeter un oeil et me dire ce que vous en pensez,
Merci d'avance
Code PHP : 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 //action.php session_start(); if(isset($_POST["action"])) { if($_POST["action"] == "add") { if(isset($_SESSION["shopping_cart"])) { $is_available = 0; foreach($_SESSION["shopping_cart"] as $keys => $values) { if($_SESSION["shopping_cart"][$keys]['product_id'] == $_POST["product_id"]) { $is_available++; $_SESSION["shopping_cart"][$keys]['product_quantity'] = $_SESSION["shopping_cart"][$keys]['product_quantity'] + $_POST["product_quantity"]; } } if($is_available == 0) { $item_array = array( 'product_id' => $_POST["product_id"], 'product_name' => $_POST["product_name"], 'product_price' => $_POST["product_price"], 'product_quantity' => $_POST["product_quantity"] ); $_SESSION["shopping_cart"][] = $item_array; } } else { $item_array = array( 'product_id' => $_POST["product_id"], 'product_name' => $_POST["product_name"], 'product_price' => $_POST["product_price"], 'product_quantity' => $_POST["product_quantity"] ); $_SESSION["shopping_cart"][] = $item_array; } }
Code JAVASCRIPT : 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 // AJOUTER $(document).on('click', '.add_to_cart', function(){ var product_id = $(this).attr("id"); var product_name = $('#name'+product_id+'').val(); var product_price = $('#price'+product_id+'').val(); var product_quantity = 1; var action = "add"; if(product_quantity > 0) { $.ajax({ url:"action.php", method:"POST", data:{product_id:product_id, product_name:product_name, product_price:product_price, product_quantity:product_quantity, action:action}, success:function(data) { load_cart_data(); } }); } else { alert("Please Enter Number of Quantity"); } });
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <input type="checkbox" name="name" id="name'.$row["id"].'" value="'.$row["name"].'"/> <textarea id="name" name="name" value="" class="get_checked"></textarea> <input type="button" name="add_to_cart" id="ici je sais pas quoi mettre du coup? PARCE QUE IL FAUT NOUVEL ID A CHAQUE AJOUT SI NOM DIFFERENT" class="button add_to_cart" value="Ajouter" />
J'ai essayé dans tout les sens, mais j'obtiens pas ce que je veux (que le premier nom, et puis vu que l'id est le meme, les ajouts s'écrasent...)
http://beepbeep74.free.fr/chop/index2.php
Partager