IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupérer en PHP la VALEUR d'un SELECT


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 453
    Par défaut Récupérer en PHP la VALEUR d'un SELECT
    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.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour,

    Alors plusieurs éléments.

    Votre <select> se nomme 'product_id[]', c'est à dire que vous voulez récupérez un tableau ? Car vous ne mettez pas de mutli-select , donc je ne vois pas trop l'intérêt.

    Ensuite vous essayez de récupérer comme ceci , hors le bon nom est , le fait de mettre [] indique que c'est un tableau dans votre select.

    Attention donc est un tableau, il vous faudra le parcourir for/foreach/while pour récupérer les infos.

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 453
    Par défaut
    Merci beaucoup. Je l'ai finalement fait en HTML de façon plus simple au lieu de JavaScript. J'ai ensuite récupérer ma valeur en PHP habituellement. Ça parait plus simple. Quoiqu'il en soit. Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/12/2015, 17h52
  2. Réponses: 4
    Dernier message: 17/04/2011, 10h40
  3. Réponses: 3
    Dernier message: 19/11/2007, 11h42
  4. Réponses: 4
    Dernier message: 29/03/2007, 10h10
  5. Réponses: 3
    Dernier message: 06/07/2006, 18h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo