Recuperer la valeur des input a mon BDD

Résolu
kimyoo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
kimyoo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
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

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
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
kimyoo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Merci

Et comment faire pour le controleur:
comme ça !!
$lib=$this->input->post('response');
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Les paramètres POST correspondent au nom de tes inputs, donc :
$subcontent1 = $this->input->post('subcontent1');
// ou
$subcontent1 = $_POST['subcontent1']
0
kimyoo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Mercii j'essaye de faire mais il recuperer juste une seule valeur de l'input
comment faire pour recuperer plusieurs !!
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
$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
kimyoo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Quel est le problème ?
0
kimyoo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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
kimyoo Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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