Envoi des variable par onclick()

Résolu/Fermé
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023 - Modifié le 5 mai 2018 à 10:34
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023 - 6 mai 2018 à 03:34
Bonjour,
J'ai un souci, je voudrais recuperer des variables dans mon ficher supprimer pour faire la mise a jour d'une table. Alors
comment peut on envoyer les variable par onclick() function? je ne veux pas utiliser le formulaire.

NB: je utilise php, ajax et modal bootstrap.

voici les fichies:

remove.php

<?php

require_once '../../layout/core.php';

$output = array('success' => false, 'messages' => array());

$co_id = $_POST['command_id'];
$montant_vente = $_POST['MontantVente'];
$montant_revient = $_POST['MontantRevient'];
$co_date = $_POST['DateCommand'];

$sql = "DELETE FROM commandes WHERE co_id = {$co_id}";
$query = $conn->query($sql);
$query = $conn->query("select EXTRACT(MONTH FROM co_date) as m,EXTRACT(YEAR FROM co_date) as a from commandes where co_date='$co_date'");
$row = $query->fetch_assoc();
$m=$row['m'];
$a=$row['a'];
$query = $conn->query("update marges set marge_net=marge_net-$montant_vente-$montant_revient where mois=$m and annee=$a");
if($query === TRUE) {
 $output['success'] = true;
 $output['messages'] = 'Successfully removed';
} else {
 $output['success'] = false;
 $output['messages'] = 'Error while removing the commands information';
}

// close database connection
$conn->close();

echo json_encode($output);


le lien de suppression qui se trouve dans le retrieve.php

$actionButton = '
 <div class="btn-group">
   <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
     Action <span class="caret"></span>
   </button>
   <ul class="dropdown-menu">

     <li><a type="button" data-toggle="modal" data-target="#removeCommandModal" onclick="removeCommand('.$row['co_id'].')"> <span class="glyphicon glyphicon-trash"></span> Remove</a></li>
   </ul>
 </div>
  ';


le code de modal remove dans index.php

<!-- remove modal -->
 <div class="modal fade" tabindex="-1" role="dialog" id="removeCommandModal">
   <div class="modal-dialog" role="document">
     <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
         <h4 class="modal-title"><span class="glyphicon glyphicon-trash"></span> Remove Command</h4>
       </div>
       <div class="modal-body">
         <p>Do you really want to remove ?</p>
       </div>
       <div class="modal-footer">
         <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
         <button type="button" class="btn btn-primary" id="removeBtn">Save changes</button>
       </div>
     </div><!-- /.modal-content -->
   </div><!-- /.modal-dialog -->
 </div><!-- /.modal -->
 <!-- /remove modal -->


la function removeCommand de fichier commands.js

function removeCommand(co_id = null) {
 if(co_id) {
  // click on remove button
  $("#removeBtn").unbind('click').bind('click', function() {
   $.ajax({
    url: '/public/src/commands/remove.php',
    type: 'post',
    data: {command_id : co_id},
    dataType: 'json',
    success:function(response) {
     if(response.success == true) {
      $(".removeMessages").html('<div class="alert alert-success alert-dismissible" role="alert">'+
         '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+
         '<strong> <span class="glyphicon glyphicon-ok-sign"></span> </strong>'+response.messages+
       '</div>');

      // refresh the table
      manageCommandTable.ajax.reload(null, false);

      // close the modal
      $("#removeCommandModal").modal('hide');

     } else {
      $(".removeMessages").html('<div class="alert alert-warning alert-dismissible" role="alert">'+
         '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+
         '<strong> <span class="glyphicon glyphicon-exclamation-sign"></span> </strong>'+response.messages+
       '</div>');
     }
    }
   });
  }); // click remove btn
 } else {
  alert('Error: Refresh the page again');
 }
}


je dois recuperer variable $co_date pour faire ma requete de selection, et le $montant_vente et $montant_revient pour faire la mise a jour.

aider moi. merci!




1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 mai 2018 à 10:39
Bonjour,

Tu veux passer les variables à ta fonction ?
Dans ce cas tu fais comme pour ta première variable... tu les passes dans ta fonction
onclick="removeCommand('.$row['co_id'].','.$row['autre_varaibe'].')"

0
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023
5 mai 2018 à 11:45
ok merci, mais et dans la function removeCommand qu'est ce que je dois mettre pour envoyer les variable dans remove.php.
j'ai essaye ca,

function removeCommand(co_id = null) {
if(co_id) {
// click on remove button
$("#removeBtn").unbind('click').bind('click', function() {
$.ajax({
url: '/public/src/commands/remove.php',
type: 'post',
data: {command_id : co_id,DateCommand : co_date,MontantVente : montant_vente,MontantRevient : montant_revient},
dataType: 'json',
success:function(response) {
if(response.success == true) {
$(".removeMessages").html('<div class="alert alert-success alert-dismissible" role="alert">'+
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+
'<strong> <span class="glyphicon glyphicon-ok-sign"></span> </strong>'+response.messages+
'</div>');

// refresh the table
manageCommandTable.ajax.reload(null, false);

// close the modal
$("#removeCommandModal").modal('hide');

} else {
$(".removeMessages").html('<div class="alert alert-warning alert-dismissible" role="alert">'+
'<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+
'<strong> <span class="glyphicon glyphicon-exclamation-sign"></span> </strong>'+response.messages+
'</div>');
}
}
});
}); // click remove btn
} else {
alert('Error: Refresh the page again');
}
}



data: {command_id : co_id,DateCommand : co_date,MontantVente : montant_vente,MontantRevient : montant_revient},


le server cette erreur

ReferenceError: co_date is not defined [Learn More] commands.js:120:31
quand je essaye de supprimer.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
5 mai 2018 à 12:26
Tu dois récupérer les variables dans la déclaration de ta fonction
function removeCommand(co_id, Tesautresvariables ...)
0
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023
6 mai 2018 à 03:34
merci!
0