Update[ ] depuis ajax en php sur MySQL

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - Modifié le 24 janv. 2019 à 13:47
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 28 janv. 2019 à 10:38
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
A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
24 janv. 2019 à 14:05
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
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
28 janv. 2019 à 10:38
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