Bonjour.
J'utilise [b]Javascript et PHP pour afficher dynamiquement la Liste déroulante dans le Formulaire HTML dont voici le Code JavaScript en appelant les différentes options du select via la fonction PHP fill_product_list($connect):
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
25
26
27
28
29
30
31
32
33
34
35
36
37 $('#add_button').click(function(){ $('#orderModal').modal('show'); $('#order_form')[0].reset(); $('.modal-title').html("<i class='fa fa-plus'></i> Create Order"); $('#action').val('Add'); $('#btn_action').val('Add'); $('#span_product_details').html(''); add_product_row(); }); function add_product_row(count = '') { var html = ''; html += '<span id="row'+count+'"><div class="row">'; html += '<div class="col-md-8">'; html += '<select name="product_id[]" id="product_id'+count+'" class="form-control selectpicker" data-live-search="true" required>'; html += '<?php echo fill_product_list($connect); ?>'; html += '</select><input type="hidden" name="hidden_product_id[]" id="hidden_product_id'+count+'" />'; html += '</div>'; html += '<div class="col-md-3">'; html += '<input type="number" placeholder="Quantity" name="quantity[]" class="form-control" required />'; html += '</div>'; html += '<div class="col-md-1">'; if(count == '') { html += '<button type="button" name="add_more" id="add_more" class="btn btn-success btn-xs">+</button>'; } else { html += '<button type="button" name="remove" id="'+count+'" class="btn btn-danger btn-xs remove">-</button>'; } html += '</div>'; html += '</div></div><br /></span>'; $('#span_product_details').append(html); $('.selectpicker').selectpicker(); }
Et maintenant, voici le Code PHP qui affiche les options de la balise "select dans l'Ajax:
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 function fill_product_list($connect) { $query = " SELECT * FROM category WHERE category_status = 'active' ORDER BY category_name ASC "; $statement = $connect->prepare($query); $statement->execute(); $result = $statement->fetchAll(); $output = ''; foreach($result as $row) { $output .= '<option value="'.$row["category_id"].'">'.$row["category_name"].'</option>'; } return $output; }
Et enfin, le Code HTML affiche le formulaire select et ses options sur la page HTML:
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <div class="form-group"> <label>Enter Product Details</label> <span id="span_product_details"></span> </div>
Mon souci est que je souhaiterais récupérer la valeur de l'option sélectionnée dans une variable PHP pour finalement la stocker dans ma BDD.
Comment donc récupérer en PHP, la valeur de l'option du select dans ce cas où celles-ci sont défini en PHP et JavaScript au lieu du HTML habituel ???
NB: J'ai déjà essayé de récupéra la valeur du select en faisant $_POST["product_id[]"] ($_POSTpuisque la méthode de la balise form est POST) mais c'est m'a retourné une erreur.
Merci de m'aider s'il vous plaît.
Partager