Tester l'existence des données dans sql javascript
AMARI
-
Natio78 Messages postés 742 Statut Membre -
Natio78 Messages postés 742 Statut Membre -
Bonjour,
j'ai un formulaire qui contient 4 champs : année , mois , V1 et V2 (valeurs), et pour les valeurs je le rentre selon l'année , je veux faire un test javascript quand je clique sur l'année s'il y a des données pour cette année il va m'afficher le formulaire remplit si il y a pas des données il va m'afficher le formulaire vide , quelqu'un peut m'aider , merci d'avance.
j'ai un formulaire qui contient 4 champs : année , mois , V1 et V2 (valeurs), et pour les valeurs je le rentre selon l'année , je veux faire un test javascript quand je clique sur l'année s'il y a des données pour cette année il va m'afficher le formulaire remplit si il y a pas des données il va m'afficher le formulaire vide , quelqu'un peut m'aider , merci d'avance.
A voir également:
- Tester l'existence des données dans sql javascript
- Fuite données maif - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Trier des données excel - Guide
- Tester composant pc - Guide
60 réponses
d'accord , après on fait quoi , le problème pour moi pourquoi il considère l'annee comme indifinie ??
c'est étonnant, parcequ'il fait quand même la requête. il faudrait savoir à quelle variable "annee" il fait référence.
sinon en attendant tu peux aussi modifier le fichier test.js comme ça:
sinon en attendant tu peux aussi modifier le fichier test.js comme ça:
$(function() {
$("#annee").change(function() {
console.log($('#annee').val());
$.getJSON('transactions/parametre.php', {
annee: $("#annee").val()
}, function(data)
{
if(data)
{
console.log(data);
for(var i in data)
{
$("#Precipitation"+data[i]['mois']).val(data[i]['Precipitation']);
$("#Evap_eau"+data[i]['mois']).val(data[i]['Evap_eau']);
}
}
else
return false;
});
});
});
ça change rien et aussi pour toutes les années il m'affiche les même valeurs même si l'année en question elle a pas des valeurs dans la base sql :
{"values":[{"annee":"0","Mois":"0","Precipitation":"1","Evap_eau":"0"},{"annee":"0","Mois":"6","Precipitation":"6","Evap_eau":"6"},{"annee":"0","Mois":"13","Precipitation":"2","Evap_eau":"13"}]}
j'arrive pas à comprendre pourquoi :(
{"values":[{"annee":"0","Mois":"0","Precipitation":"1","Evap_eau":"0"},{"annee":"0","Mois":"6","Precipitation":"6","Evap_eau":"6"},{"annee":"0","Mois":"13","Precipitation":"2","Evap_eau":"13"}]}
j'arrive pas à comprendre pourquoi :(
il m'a afficher ça
Array ( [0] => Array ( [annee] => 0 [Mois] => 0 [Precipitation] => 1 [Evap_eau] => 0 ) [1] => Array ( [annee] => 0 [Mois] => 6 [Precipitation] => 6 [Evap_eau] => 6 ) [2] => Array ( [annee] => 0 [Mois] => 13 [Precipitation] => 2 [Evap_eau] => 13 ) ) [{"annee":"0","Mois":"0","Precipitation":"1","Evap_eau":"0"},{"annee":"0","Mois":"6","Precipitation":"6","Evap_eau":"6"},{"annee":"0","Mois":"13","Precipitation":"2","Evap_eau":"13"}]
pour toute les années , par contre dans le network il affiche parametre.php=> année selectionée
Array ( [0] => Array ( [annee] => 0 [Mois] => 0 [Precipitation] => 1 [Evap_eau] => 0 ) [1] => Array ( [annee] => 0 [Mois] => 6 [Precipitation] => 6 [Evap_eau] => 6 ) [2] => Array ( [annee] => 0 [Mois] => 13 [Precipitation] => 2 [Evap_eau] => 13 ) ) [{"annee":"0","Mois":"0","Precipitation":"1","Evap_eau":"0"},{"annee":"0","Mois":"6","Precipitation":"6","Evap_eau":"6"},{"annee":"0","Mois":"13","Precipitation":"2","Evap_eau":"13"}]
pour toute les années , par contre dans le network il affiche parametre.php=> année selectionée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
d'accord je vous attends et au même temps je suis entrain de chercher d'ou vient l'erreur à tout de suite :)
me revoila.
Bon si on fait un select * from parametre WHERE annee = "1993" directement dans phpmyadmin ça donne quoi?
ajoute aussi un echo $sql; juste après la déclaration de la variable comme ça:
il devrait y avoir dans le network de chrome la requête qui s'affiche
Bon si on fait un select * from parametre WHERE annee = "1993" directement dans phpmyadmin ça donne quoi?
ajoute aussi un echo $sql; juste après la déclaration de la variable comme ça:
$sql = 'SELECT * FROM parametre WHERE annee = "'.$_GET['annee'].'"'; echo "la requête est: - " echo $sql;
il devrait y avoir dans le network de chrome la requête qui s'affiche
il m'a affiché ça sans erreur :
Array ( ) SELECT * FROM parmetres WHERE annee = "1993"[{"annee":"1993","Mois":"0","Precipitation":"0","Evap_eau":"0"},{"annee":"1993","Mois":"6","Precipitation":"2","Evap_eau":"2"}]
Array ( ) SELECT * FROM parmetres WHERE annee = "1993"[{"annee":"1993","Mois":"0","Precipitation":"0","Evap_eau":"0"},{"annee":"1993","Mois":"6","Precipitation":"2","Evap_eau":"2"}]
c'est bizarre là ça fonctionne O_o'
par contre une précision pourquoi il y a un mois à 0? c'est pas de 1 à 12 les mois?
peux tu me copier coller l'ensemble de ton fichier parametre.php ici que je vois bien tout?
merci
par contre une précision pourquoi il y a un mois à 0? c'est pas de 1 à 12 les mois?
peux tu me copier coller l'ensemble de ton fichier parametre.php ici que je vois bien tout?
merci
par contre j'ai essayé d'exécuter la requête dans sql il m'a affiché :
MySQL a retourné un résultat vide (aucune ligne) et il prend pas en fait les valeurs qui sont dans la bases il prend juste la première ligne et si je le fasse il va afficher rien même dans la page web .
MySQL a retourné un résultat vide (aucune ligne) et il prend pas en fait les valeurs qui sont dans la bases il prend juste la première ligne et si je le fasse il va afficher rien même dans la page web .
j'arrive pas à comprendre pour chez moi ça marche pas pour il ne prend pas les valeurs insérées en considération :(:(
c'est bon ça marche pour l'année 1994 enfin voilà
Array ( ) SELECT * FROM parmetres WHERE annee = 1994[{"annee":"1994","Mois":"1","Precipitation":"1","Evap_eau":"1"},{"annee":"1994","Mois":"2","Precipitation":"1","Evap_eau":"7"},{"annee":"1994","Mois":"3","Precipitation":"2","Evap_eau":"3"},{"annee":"1994","Mois":"4","Precipitation":"4","Evap_eau":"4"},{"annee":"1994","Mois":"5","Precipitation":"5","Evap_eau":"5"},{"annee":"1994","Mois":"6","Precipitation":"6","Evap_eau":"6"},{"annee":"1994","Mois":"7","Precipitation":"7","Evap_eau":"7"},{"annee":"1994","Mois":"8","Precipitation":"8","Evap_eau":"8"},{"annee":"1994","Mois":"9","Precipitation":"9","Evap_eau":"9"},{"annee":"1994","Mois":"10","Precipitation":"10","Evap_eau":"10"},{"annee":"1994","Mois":"11","Precipitation":"11","Evap_eau":"11"},{"annee":"1994","Mois":"12","Precipitation":"12","Evap_eau":"12"}],
là on peut continuer
Array ( ) SELECT * FROM parmetres WHERE annee = 1994[{"annee":"1994","Mois":"1","Precipitation":"1","Evap_eau":"1"},{"annee":"1994","Mois":"2","Precipitation":"1","Evap_eau":"7"},{"annee":"1994","Mois":"3","Precipitation":"2","Evap_eau":"3"},{"annee":"1994","Mois":"4","Precipitation":"4","Evap_eau":"4"},{"annee":"1994","Mois":"5","Precipitation":"5","Evap_eau":"5"},{"annee":"1994","Mois":"6","Precipitation":"6","Evap_eau":"6"},{"annee":"1994","Mois":"7","Precipitation":"7","Evap_eau":"7"},{"annee":"1994","Mois":"8","Precipitation":"8","Evap_eau":"8"},{"annee":"1994","Mois":"9","Precipitation":"9","Evap_eau":"9"},{"annee":"1994","Mois":"10","Precipitation":"10","Evap_eau":"10"},{"annee":"1994","Mois":"11","Precipitation":"11","Evap_eau":"11"},{"annee":"1994","Mois":"12","Precipitation":"12","Evap_eau":"12"}],
là on peut continuer
il va falloir faire quelques modifications:
pour le fichier test.js tu as juste à le remplacer intégralement par ça:
pour le fichier test.js tu as juste à le remplacer intégralement par ça:
$(function() {
$("#annee").change(function() {
console.log($('#annee').val());
$.getJSON('transactions/parametre.php', {
annee: $("#annee").val()
}, function(data)
{
if(data)
{
for(var i in data)
{
console.log("mois : "+data[i]['mois']+" - precipitation :"+data[i]['Precipitation']);
$("#Precipitation"+data[i]['mois']).val(data[i]['Precipitation']);
$("#Evap_eau"+data[i]['mois']).val(data[i]['Evap_eau']);
}
}
else
return false;
});
});
});
une dernière modification: dans ton fichier principal (index.php ?) tu vas devoir changer les id sur deux lignes:
echo '<input type="text" name="Precipitation['.$n.']" id="Precipitation'.$n.'" />'; echo '<input type="text" name="Evap_eau['.$n.']" id= "Evap_eau'.$n.'" value="" />';
et pour finir, dans le fichier parametre.php il faut supprimer tous les "echo" et les print_r à part echo json_encode($myArray);
j'ai supprimé les echo et les print_r , j'ai remplacé la ligne :
//$sql1 = 'SELECT * FROM parmetres WHERE annee = 1994'; par
$sql1 = "SELECT * FROM parmetres WHERE annee = '".$_GET['annee']."'";
alors il a rien fait comme teste il m'a affiché le même erreur annee indifinie :(
et pour le teste je veux si une année sélectionné a des valeurs dans la BD il m'affiche le formulaire remplit c'à adire le teste avec la partie ajax il vont récupérer les valeur si il y a pas de valeurs il va m'afficher le formulaire vide , pour le console et network il affiche l'année sélectionnée ça marche ça
//$sql1 = 'SELECT * FROM parmetres WHERE annee = 1994'; par
$sql1 = "SELECT * FROM parmetres WHERE annee = '".$_GET['annee']."'";
alors il a rien fait comme teste il m'a affiché le même erreur annee indifinie :(
et pour le teste je veux si une année sélectionné a des valeurs dans la BD il m'affiche le formulaire remplit c'à adire le teste avec la partie ajax il vont récupérer les valeur si il y a pas de valeurs il va m'afficher le formulaire vide , pour le console et network il affiche l'année sélectionnée ça marche ça
ça change rien pour moi l'année toujours in définie et si je clique sur une année qu'a déjà de valeurs il me laisse toujours dans la même page sans rien changer :(:( :( ça va me rendre folle :(:(
ton fichier parametre.php doit ressembler à ça:
$myArray = array(); $sql = "SELECT * FROM parametre WHERE annee = '".$_GET['annee']."'"; if ($result = $db->query($sql)) { while($row = $result->fetch_array(MYSQL_ASSOC)) { $myArray[] = $row; } echo json_encode($myArray); } $result->close(); $db->close(); ?>et regarde dans l'onglet network du debug de chrome sur le fichier parametre.php si tu as bien un truc du genre : annee => 1993 (enfin l'année sur laquelle tu auras cliqué).