Tester l'existence des données dans sql javascript
Fermé
AMARI
-
2 mai 2013 à 10:30
Natio78 Messages postés 719 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 27 mai 2013 - 2 mai 2013 à 17:12
Natio78 Messages postés 719 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 27 mai 2013 - 2 mai 2013 à 17:12
A voir également:
- Tester l'existence des données dans sql javascript
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Telecharger javascript - Télécharger - Langages
- Tester composant pc - Guide
- Excel validation des données liste - Guide
60 réponses
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
Modifié par Natio78 le 2/05/2013 à 13:56
Modifié par Natio78 le 2/05/2013 à 13:56
ok essai un dernier truc sinon on se débrouillera sans ça.
require_once('dbconnect.php');
$sth = $db->prepare('SELECT * FROM parametre WHERE annee ="1993"');
$sth->execute();
$result= $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
Enjoy!
require_once('dbconnect.php');
$sth = $db->prepare('SELECT * FROM parametre WHERE annee ="1993"');
$sth->execute();
$result= $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
Enjoy!
oui j'en ai tout et j'utilise google chrome pour le moment mais après quand je termine et j'héberge le site ça sera à l'utilisateur de choisir le navigateur que lui plait
j'ai essayé avec le dernier code et aussi il m'a afficher cet erreur :
Attention: mysqli_stmt :: fetch () attend exactement 0, 1 paramètres donnés dans C: \ wamp \ www
Attention: mysqli_stmt :: fetch () attend exactement 0, 1 paramètres donnés dans C: \ wamp \ www
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 13:58
2 mai 2013 à 13:58
je viens de remodifier. C'est bizarre mysqli car c'est un fetchAll que ça fait normalement.
tu utilises bien PDO pour te connecter à ta bdd?
tu utilises bien PDO pour te connecter à ta bdd?
oui voilà ma page de connexion :
// Paramètres de connexion
$hostname = "localhost"; // nom ou ip de votre serveur
$database = "AMARI"; // nom de votre base de données
$username = "root"; // nom d'utilisateur (root par défaut) !!! ATTENTION, en utilisant root, vos visiteurs on tout les droits sur la base
$password = ""; // mot de passe (aucun par défaut mais il est fortement recommandé d'en mettre un ... sinon, à quoi bon la sécurité ?)
$db=new mysqli("$hostname","$username","","$database");
$db->query('SET CHARSET "UTF-8"');
$db->query('SET CHARACTER SET UTF8');
$db->query("SET NAMES 'utf8'");
$db->query('SET collation_connection = utf8_general_ci');
// Paramètres de connexion
$hostname = "localhost"; // nom ou ip de votre serveur
$database = "AMARI"; // nom de votre base de données
$username = "root"; // nom d'utilisateur (root par défaut) !!! ATTENTION, en utilisant root, vos visiteurs on tout les droits sur la base
$password = ""; // mot de passe (aucun par défaut mais il est fortement recommandé d'en mettre un ... sinon, à quoi bon la sécurité ?)
$db=new mysqli("$hostname","$username","","$database");
$db->query('SET CHARSET "UTF-8"');
$db->query('SET CHARACTER SET UTF8');
$db->query("SET NAMES 'utf8'");
$db->query('SET collation_connection = utf8_general_ci');
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:05
2 mai 2013 à 14:05
aaaaah je croyais que tu le faisais via PDO. Je ne connais pas Mysqli enfin ce n'est pas grave on va quand même s'en sortir. C'est normal que ce que je t'ai demandé de faire ne fonctionne pas ^^. On va continuer sur le javascript et on fera le php sql après
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 13:57
2 mai 2013 à 13:57
ok cool avec chrome le debug est intégré directement ça sera plus simple.
Normalement si tu fais clique droit sur ta page tu as "inspecter l'élément" ça ouvre une fenêtre en bas de ta page. Sur cette fenêtre sur as un onglet 'console' c'est là que tu verras les erreurs javascript
Normalement si tu fais clique droit sur ta page tu as "inspecter l'élément" ça ouvre une fenêtre en bas de ta page. Sur cette fenêtre sur as un onglet 'console' c'est là que tu verras les erreurs javascript
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:08
2 mai 2013 à 14:08
as tu bien tout ce que je t'avais récapitulé ici => https://forums.commentcamarche.net/forum/affich-27721909-tester-l-existence-des-donnees-dans-sql-javascript#19
si oui on va pouvoir commencer à tester des choses
si oui on va pouvoir commencer à tester des choses
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:17
2 mai 2013 à 14:17
il va falloir commencer par modifier un peu le js.
donc tu vas mettre ça dans le fichier test.js à la place de ce qu'il y a actuellement
Normalement quand tu changeras de valeur dans ta liste déroulante tu devrais voir la valeur qui change dans la console de chrome.
tu vas aussi mettre ça dans ton fichier transaction/parametre.php
ce petit bout de php devrait nous montrer si ton js communique bien avec ton php et si la valeur reçue par php est la bonne. tu peux voir ça dans la console encore tu vas par contre dans l'onglet "network" quand tu changes de valeur dans ta liste déroulante ça devrait appeler le fichier transaction/parametre.php et il devrait s'afficher ici. clique dessus pour voir le contenu retourné. Demande moi si tu ne comprends pas bien quelque chose car je ne suis peut être pas très clair
donc tu vas mettre ça dans le fichier test.js à la place de ce qu'il y a actuellement
$(function() { $("#annee").change(function() { //affichage dans la console javascript de chrome de la valeur de l'année sélectionnée console.log($('#annee').val()); $.getJSON('transactions/parametre.php', { annee: $("#annee").val() }, function(data) { if(data.exist) { for(var i in data) { $("#Precipitation"+i).val(data.values[i]['Precipitation']); $("#Evap_eau"+i).val(data.values[i]['Evap_eau']); } } else return false; }); }); });
Normalement quand tu changeras de valeur dans ta liste déroulante tu devrais voir la valeur qui change dans la console de chrome.
tu vas aussi mettre ça dans ton fichier transaction/parametre.php
<?php print_r($_GET); ?>
ce petit bout de php devrait nous montrer si ton js communique bien avec ton php et si la valeur reçue par php est la bonne. tu peux voir ça dans la console encore tu vas par contre dans l'onglet "network" quand tu changes de valeur dans ta liste déroulante ça devrait appeler le fichier transaction/parametre.php et il devrait s'afficher ici. clique dessus pour voir le contenu retourné. Demande moi si tu ne comprends pas bien quelque chose car je ne suis peut être pas très clair
j'ai suivi vos étapes pour les codes après j'ai choisi une année il a rien fait et dans le console il ne m'affiche pas l'année sélectionner :(
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:27
2 mai 2013 à 14:27
Avant tout rafraichir la page au cas où (ctrl+r) car le javascript se passe côté client il faut donc recharger les fichiers
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:30
2 mai 2013 à 14:30
j'ai reproduit le tout chez moi et ça fonctionne il doit manquer quelque chose alors.
tu as bien le fichier principal (index.php) avec en haut ça entre les balises <head> </head>
<script type="text/javascript" src="js/jquery.js" ></script>
<script type="text/javascript" src="js/test.js" ></script>
le dossier js avec dedans 2 fichiers: test.js et jquery.js
le dossier transactions avec dedans un fichier : parametre.php
un petit conseil:
affiche l'interface debug de chrome et fais un ctrl+r pour rafraichir. Si tu vas dans l'onglet network tu vois les fichiers qui sont chargés, tu devrais avoir style.css jquery.js et test.js, si l'un d'eux apparait en rouge c'est qu'il ne le trouve pas
tu as bien le fichier principal (index.php) avec en haut ça entre les balises <head> </head>
<script type="text/javascript" src="js/jquery.js" ></script>
<script type="text/javascript" src="js/test.js" ></script>
le dossier js avec dedans 2 fichiers: test.js et jquery.js
le dossier transactions avec dedans un fichier : parametre.php
un petit conseil:
affiche l'interface debug de chrome et fais un ctrl+r pour rafraichir. Si tu vas dans l'onglet network tu vois les fichiers qui sont chargés, tu devrais avoir style.css jquery.js et test.js, si l'un d'eux apparait en rouge c'est qu'il ne le trouve pas
alors vous avez raison il m'a afficher 3 erreurs :
GET http://localhost/Amari/css/style.css 404 (Not Found) parametre.php:9
Uncaught SyntaxError: Unexpected identifier jquery.js:1
Uncaught ReferenceError: $ is not defined
et j'en ai la page css dans le dossier
GET http://localhost/Amari/css/style.css 404 (Not Found) parametre.php:9
Uncaught SyntaxError: Unexpected identifier jquery.js:1
Uncaught ReferenceError: $ is not defined
et j'en ai la page css dans le dossier
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:37
2 mai 2013 à 14:37
bon il y a plusieurs erreurs on va les décrypter...
style.css not found à la rigueur ça on s'en fou ça concerne pas ce qu'on est entrain de faire.
Pour parametre.php:
vide le complètement et met juste ça dedans:
c'est tout pour son contenu. on aura plus d'erreurs sur ce fichier là.
Il y a un problème sur le fichier jquery.js, as tu bien recopié tout le contenu de la page suivante : http://code.jquery.com/jquery-1.9.1.min.js (ctrl+a pour tout sélectionner puis copier et coller dans ton fichier jquery.js)
la dernière erreur vient du fait qu'il y a un prob sur la copie de jquery
style.css not found à la rigueur ça on s'en fou ça concerne pas ce qu'on est entrain de faire.
Pour parametre.php:
vide le complètement et met juste ça dedans:
<?php print_r($_GET); ?>
c'est tout pour son contenu. on aura plus d'erreurs sur ce fichier là.
Il y a un problème sur le fichier jquery.js, as tu bien recopié tout le contenu de la page suivante : http://code.jquery.com/jquery-1.9.1.min.js (ctrl+a pour tout sélectionner puis copier et coller dans ton fichier jquery.js)
la dernière erreur vient du fait qu'il y a un prob sur la copie de jquery
voilà il affiche l'année mais il ya toujours 2 erreurs :
GET http://localhost/Amari/css/style.css 404 (Not Found) parametre.php:9
2010 Test.js:6
GET http://localhost/Amari/transactions/parametre.php?annee=2010 404 (Not Found) jquery.js:5
GET http://localhost/Amari/css/style.css 404 (Not Found) parametre.php:9
2010 Test.js:6
GET http://localhost/Amari/transactions/parametre.php?annee=2010 404 (Not Found) jquery.js:5
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:48
2 mai 2013 à 14:48
le fichier parametre.php se trouve bien dans le dossier "transactions"? attention il est au pluriel. là il dit qu'il ne trouve pas le fichier parametre.php qu'il doit appeler à la ligne 6 du fichier test.js car effectivement ligne 6 on a bien:
$.getJSON('transactions/parametre.php', {
$.getJSON('transactions/parametre.php', {
c'est bon je l'ai corrigé la dans le console il reste juste l'erreur de la page css et c'est pas important pour le moment, on peut continuer ?
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 14:55
2 mai 2013 à 14:55
oui, donc on a bien les années qui s'affichent? et dans l'onglet network on a bien "parametre.php" qui doit s'afficher à chaque fois qu'on change de date dans la liste déroulante? lorsque tu cliques dessus il y a bien la même année que celle sélectionnée?
Natio78
Messages postés
719
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
27 mai 2013
96
2 mai 2013 à 15:06
2 mai 2013 à 15:06
ok on va ajouter un peu de php donc dans parametre.php, il va falloir maintenant effectuer la requête à la base de données en fonction de l'année pour renvoyer en json le contenu de la base.
C'est le seul point que je ne pourrai pas vraiment tester car je n'ai pas ta base de données. Donc j'espère que ça va fonctionner assez rapidement ^^
donc dans parametre.php tu mets:
après tu recharges ta page et tu changes de date dans la liste déroulante. tu regardes dans l'onglet "network" du debug pour voir ce que renvoi la page "parametre.php" (en espérant que ce ne soit pas une erreur!)
C'est le seul point que je ne pourrai pas vraiment tester car je n'ai pas ta base de données. Donc j'espère que ça va fonctionner assez rapidement ^^
donc dans parametre.php tu mets:
<?php require_once('../dbconnect.php'); $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(array("values"=>$myArray)); } $result->close(); $db->close(); ?>
après tu recharges ta page et tu changes de date dans la liste déroulante. tu regardes dans l'onglet "network" du debug pour voir ce que renvoi la page "parametre.php" (en espérant que ce ne soit pas une erreur!)
il m'affiche tout d'abord cet erreur
Notice: Undefined index: annee dans C: \ wamp \ www
avec ça
{"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"}]}
et vite fait ça s'enlève et il reste que ça la partie : Notice: Undefined index: annee dans C: \ wamp \ www ;
pour ma table en fait j'ai 4 champs ; annee , Mois , Percipitation , Eavap_eau
Notice: Undefined index: annee dans C: \ wamp \ www
avec ça
{"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"}]}
et vite fait ça s'enlève et il reste que ça la partie : Notice: Undefined index: annee dans C: \ wamp \ www ;
pour ma table en fait j'ai 4 champs ; annee , Mois , Percipitation , Eavap_eau