bonjour,
le formulaire que je créé est pour enregistrer une commande de produit donc lors de la sélection d'un produit dans le menu déroulant et la quantité cela me fasse un calcule du prix.
Mais mes connaissances en JavaScript sont limitées donc je recherche comment récupérer le prix du produit dans la base de donnée lors de sa sélection dans le menu déroulant pour ensuite faire son calcul et l'insérer dans le champ tu prix total.
je travaille sur cake 2.
merci :)
Si tu as vu un code avec PHP simple, tu as du voir dans ta requête Ajax, tu as une option url, là tu mets un lien "controleur/action" qui retournera l'info dont tu as besoin.
donc si j'ai bien compris je dois créer une action permettant de récupérer les donner dans mon contrôleur qui sera chargé a chaque changement dans le select avec la fonction url
non elle est en local pour l'instant mais pour l'instant il n'y a que le form simple de créé et ce que je desir faire c'est recuperer le prix du produit sélectionné dans la liste déroulante "product_id" qui est associé a la table "products" pour ensuite calculer le prix en fonction de la quantité et ensuite pouvoir sauvegarder le tout dans ma BDD.
voila le form
<?php echo $this->Form->create('Fact'); ?>
<?php echo $this->Form->input('id'); ?>
<?php echo $this->Form->input('facture',array('label'=>'N° de facture : ')); ?>
<?php echo $this->Form->input('client_id',array('label'=>'Client : ')); ?>
<?php echo $this->Form->input('user_id',array('label'=>'Commande de : ')); ?>
<?php echo $this->Form->input('created',array('label'=>'Date de création : ','dateFormat' => 'DMY')); ?>
<?php echo $this->Form->input('product_id',array('label'=>'Produit : ')); ?>
<?php echo $this->Form->input('quantity',array('label'=>'Quantité : ')); ?>
<?php echo $this->Form->input('price',array('label'=>'Prix : ')); ?>
<?php echo $this->Form->input('livstate',array('label'=>'Etat de livraison : ',"options"=>array(
"attente" => "En attente",
"cours" => "En cours",
"livré" => "Livré",
)
)); ?>
<?php echo $this->Form->input('livdate',array('label'=>'Date de livraison : ','dateFormat' => 'DMY')); ?>
<?php echo $this->Form->input('paystat',array('label'=>'Etat de paiement : ',"options"=>array(
"attente" => "En attente",
"payé" => "Payé",
))); ?>
<?php echo $this->Form->input('unpaydate',array('label'=>'Date de début d\'impayé : ','dateFormat' => 'DMY')); ?>
<?php echo $this->Form->end('Valider'); ?>
personne ne sait comment récupérer les données de la bdd en fonction de la sélection dans la liste déroulante ?
car je cherche depuis hier sans succès :/
si il faut des précisions sur mon code demandes et je rajouterais
Salut,
Il suffit de faire de l'Ajax si tu veux que ça se passe avant la validation :
$('#product_id').change(function(){//Changer #product_id par l'id créé par Cake, je sais plus ce qu'il crée
$.ajax({//Là tu fais le traitement pour avoir la donnée qui te manque
...
success:function(data){
//->Ici tu récupéres la quantité
$('#price').attr('value', data * quantite);//Et là tu le mets dans ton select, comme en haut #price doit être le bon id
}
...
});
});
A+
j'ai essayé l'ajax pour résoudre mon petit problème mais je bloque au niveau des requêtes avec cakephp.j'ai cherché sur le net mais je ne trouve aucune réponse sur la façon de formuler mes requêtes pour récupérer mes données une foi le changement dans la liste détectée par ajax, les seules réponses que je trouve sont pour un site en php simple et non pour cake.