Update[ ] depuis ajax en php sur MySQL

Résolu
Bonjour à tous !

J'avoue que je n'ai jamais été confronté à ce problème, mais j'essaie de mettre à jour ma table avec l’événement OnClick.
Le soucis que je rencontre est que la mise à jour n'est pas faite. Pouvez-vous m'aider svp ?
<input type="number"
name="Fr_Quantite[<?php echo $i;?>]" <?php echo $JS_NUMERIC; ?> 
id="Fr_Quantite_<?php echo $i;?>" 
value="<?php echo $data["Quantite"]; ?>" 
onClick="saveChanges(this);" >

<script type="text/javascript">
function saveChanges(object){   
    $.ajax({
        url: '_shop-upp.php',
        data: 'content=' + object.value,
        cache: false,
        error: function(e){
            alert(e);
        },
        success: function(response){
            // A response to say if it's updated or not
            alert(response);
        }
    });   
}
</script>


_shop-upp.php
$arr_id = !empty($_GET['Fr_NumId']) ? $_GET['Fr_NumId'] : array();
$arr_Libelle = !empty($_GET['Fr_Libelle']) ? $_GET['Fr_Libelle'] : array();
$arr_Quantite = !empty($_GET['Fr_Quantite']) ? $_GET['Fr_Quantite'] : array();
$arr_Prix_Unitaire = !empty($_GET['Fr_Prix_Unitaire']) ? $_GET['Fr_Prix_Unitaire'] : array();
$arr_Remise = !empty($_GET['Fr_Remise']) ? $_GET['Fr_Remise'] : array();

try{
$Fact_BC = $pdo->prepare("UPDATE tb_shop_BC SET Libelle_TAG=:arr_Libelle, Quantite=:arr_Quantite, Prix_Unitaire=:arr_Prix_Unitaire, Remise=:arr_Remise WHERE NumId=:Fr_NumId");
foreach($arr_Libelle as $key => $value){
if($arr_Quantite[$key] <> 0){
$Fact_BC->bindParam(":Fr_NumId", $arr_id[$key]);
$Fact_BC->bindParam(":arr_Libelle", $value);
$Fact_BC->bindParam(":arr_Quantite", $arr_Quantite[$key]);
$Fact_BC->bindParam(":arr_Prix_Unitaire", $arr_Prix_Unitaire[$key]);
$Fact_BC->bindParam(":arr_Remise", $arr_Remise[$key]);
$Fact_BC->execute();
}}
}catch(PDOException $e){echo "<div class='alert alert-warning'>".$e->getMessage()."</div>"; die();}

Merci de votre aide

Configuration: Windows / Chrome 71.0.3578.98

2 réponses

  1. Modérateur
    Bonjour,

    Déjà, préfère la méthode POST à la méthode GET pour l'appel de ton ajax.
    Ensuite, regarde dans la CONSOLE de ton nanvigateur si il y a des erreurs ou non

    de préférene utilises Firefox pour débuguer ou si tu utilises chrome, installe le plugin ajax debuger

    Tu peux aussi t'inspirer des codes présents ici :
    https://codes-sources.commentcamarche.net/source/102253-exemple-ajax-en-jquery

    Pour finir...
    dans ton onclick tu utilise le "this" qui pointe sur l'input lui même ... et non pas sur l'ensemble des champs que tu pourrais avoir dans ton formulaire....
    Mais ça .. tu l'aurais vu en regardant dans la console....
    1
    1. Bonjour Jordane45, merci de ton aide. Le problème a été résolu ^^
      En effet, j'ai préféré le $_POST au $_GET comme tu m'as recommandé.
      Ca n'a pas été facile mais j'y suis arrivé tout seul comme un grand :D

      Merci encore de ton aide.
      0