Envoi des variable par onclick()

Résolu
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

  1. Modérateur
    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'].')"
    

    1. 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.
    2. Modérateur
      Tu dois récupérer les variables dans la déclaration de ta fonction
      function removeCommand(co_id, Tesautresvariables ...)
      
    3. merci!