1 pièce(s) jointe(s)
Passage d'une valeur nulle dans une url
Bonjour,
J'ai un formulaire avec plusieurs champs dont le champ "année", lequel formulaire est validé par un bouton 'submit' qui envoie une requête ajax à une API et qui met à jour les champs d'une base de données.
Dans la base de donnée, ce champ est de type "smallint" et ne peut pas changer (à cause des contraintes de vérification notamment). Le champ peut être nul. Côté API, le paramètre "année" de la requête SQL est un $stmt->bindParam('annee', $this->annee, PDO::PARAM_STR);.
Côté front, j'ai un souci pour mettre à jour ce champ "année". Quand ce champ est déjà une valeur nulle, pas de problème avec la nouvelle valeur (ici 1987).
La requête vers l'API devient alors :
Code:
https://monapi.fr/api/update.php?id=123456789&annee=1987
Le problème survient dans le process inverse. Admettons que j'ai rentré une valeur dans la base de données et que je souhaite supprimer cette valeur via le formulaire.
La requête vers l'API devient donc :
Code:
https://monapi.fr/api/update.php?id=123456789&annee=
ce qui renvoie inévitablement une erreur 500.
Ci-dessous, ma requête ajax vers l'API. J'ai pensé à mettre un coalesce sur annee mais cela ne fonctionne pas (en rouge).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $.ajax({
url:"https://monapi.fr/update.php?',
type:"GET",
data:{
"id":$("#id_c").val(),
"reference":$("#field_ref").val(),
"annee": $("#field_annee").val() "annee" : $("#field_annee").val() ?? $("#field_annee").val()
},
success:function(data){
console.log('maj ok' + data);
M.toast({html: 'Données de la carte mises à jour !', displayLength: 5000, classes: 'toast_success'});
})
} |
En gros, il s'agit de gruger pour que quand "annee" n'est plus renseignée, l'appel à l'API ne bloque pas. Et là c'est moi qui bloque.
Pièce jointe 646232
Merci pour vos retours,
Bonne journée,
Sylvain