Recuperer la valeur des input a mon BDD

Résolu
kimyoo Messages postés 43 Statut Membre -  
kimyoo Messages postés 43 Statut Membre -
Bonjour,

j'ai un probleme pour la recuperation des valeurs des mes inputs a mon BDD

le but de mon fonction:
a chaque fois je clique sur le bouton "Ajouter carcteristique" il m'affiche une input
et quand je clique sur le bouton "Ajouter" il faut qu'il récupére les valeurs des inputs e l'envoyer a mon controlleurs 'Produits/caracteristique'
voici ici mon code:
<label class="control-label" for="textarea2">caractéristique<span class="required">*</span></label>
<div class="controls">
<button id="add">Ajouter carcteristique</button><br /><br />

<form method="post"> <button id="send" name="send" value="add">Ajouter </button><br /><br /></form>

</div>
</div>
</div>

<script language="javascript">
var inputId = 0;
$("#add").click(function() {
var newNode = '<div id="subcontent'+(++inputId)+'" >'; // incrémente l'id avant de l'utiliser
newNode += '<input type="text" placeholder="Champ '+inputId+'" id="input'+inputId+'" class="coteinput"/>';
newNode += '</div>';
$("#content").append(newNode);

});
$("#send").click(function() {
$('input.coteinput').each(function() {
lib = lib=$(this).val();
// alert(lib);
$.ajax({
url:"<?php echo site_url('Produits/caracteristique');?>",
type:"POST",
data:"id="+inputId+"&lib="+lib,
success: function (data) {
$('.aa').html(data);
//console.log(inputId);
}
});
});
});
</script>
<div class="aa"></div>

Aidez moi svp

2 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Essaye comme ceci :
    <button id="add">Ajouter carcteristique</button>
    
    <form id="myForm" method="post"></form>
    
    <button id="send" name="send" value="add">Envoyer</button>
    	
    <script>
    	var inputId = 0;
    	$("#add").click(function() {
    		var newNode = '<div id="subcontent' + (++inputId) + '">';
    		newNode += '<input type="text" placeholder="Champ ' + inputId + '" name="input' + inputId + '" class="coteinput" />';
    		newNode += '</div>';
    		$("#myForm").append(newNode);
    	});
    
    	$("#send").click(function(e) {
    		var form = $('#myForm');
    		
    		$.ajax({
    			type: "POST",
    			url: '<?php echo site_url('Produits/caracteristique'); ?>',
    			data: form.serialize(),
    			success: function(response) {
    				console.log(response);
    			}
    		});
    	});
    </script>
    
    1
    1. kimyoo Messages postés 43 Statut Membre
       
      Merci

      Et comment faire pour le controleur:
      comme ça !!
      $lib=$this->input->post('response');
      0
    2. Pitet Messages postés 2845 Statut Membre 530
       
      Les paramètres POST correspondent au nom de tes inputs, donc :
      $subcontent1 = $this->input->post('subcontent1');
      // ou
      $subcontent1 = $_POST['subcontent1']
      
      0
    3. kimyoo Messages postés 43 Statut Membre
       
      Mercii j'essaye de faire mais il recuperer juste une seule valeur de l'input
      comment faire pour recuperer plusieurs !!
      0
    4. Pitet Messages postés 2845 Statut Membre 530
       
      $subcontent1 = $_POST['subcontent1'];
      $subcontent2 = $_POST['subcontent2']
      

      Comme ceci ?
      N'hésite pas à faire un var_dump($_POST) pour vérifier que tu reçois bien les données attendues.
      0
    5. kimyoo Messages postés 43 Statut Membre
       
      Merci,
      you made my day

      j'ai juste ajouté un foreach avant mon requete
      foreach($this->input->post('coteinput') as $lib){
      $this->db->insert('bk_caracteristique', array('ct_id_produit'=>$id, 'ct_lib' => $lib,'ct_rewrite' => uniqid()));
      }

      :) :)
      0
  2. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Quel est le problème ?
    0
    1. kimyoo Messages postés 43 Statut Membre
       
      Salut,
      mon probleme c'est au niveau de la récuperation de le champ lib
      $.ajax({
                         url:"<?php echo site_url('Produits/caracteristique');?>",
                           type:"POST",
                             data:"id="+inputId+"&lib="+lib,
                               success: function (data) {
                                $('.aa').html(data);
                                  //console.log(inputId);
                                        }   
                                              });
                                                });

      il m'affiche cette erreur :
      Error Number: 1048

      Column 'ct_lib' cannot be null

      INSERT INTO `bk_caracteristique` (`ct_id_produit`, `ct_lib`, `ct_rewrite`) VALUES ('', NULL, '55f97d357895e')

      Filename: C:/wamp/www/beckon/admin-cs/application/controllers/Produits.php

      Line Number: 316
      0
    2. kimyoo Messages postés 43 Statut Membre
       
      c'est mon code : http://jsfiddle.net/6nz6xoy0/
      que mon but c'est d'envoyer les valeurs des inputs a mon controleur
      comment faire tu peut m'aider !
      0