Like Dislike rating system with jQuery, Ajax and PHP
Résolu/Fermé
placi2
Messages postés
1
Date d'inscription
samedi 15 octobre 2016
Statut
Membre
Dernière intervention
15 octobre 2016
-
Modifié par crapoulou le 15/10/2016 à 14:03
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 17 oct. 2016 à 10:27
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 17 oct. 2016 à 10:27
A voir également:
- Like et dislike instagram
- Supprimer compte instagram - Guide
- Restreindre instagram - Guide
- Instagram download - Télécharger - Divers Communication
- Compte instagram piraté - Guide
- Créer un compte instagram - Guide
1 réponse
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
Modifié par jordane45 le 15/10/2016 à 18:12
Modifié par jordane45 le 15/10/2016 à 18:12
Bonjour,
Première erreur
NB: Si la requête ne retourne aucun résultat ... $data est vide... et vu que tu ne l'as pas initialisé avant.. le code t'indique qu'il est "undefined".
Avec l'écriture ternaire et le !empty tu t'assures qu'il existe avant de t'en servir.
La seconde erreur est du même genre et fait suite à la première...
Tu essaies de faire :
Sauf que $trows est le retour de la fonction get_rows ...
Vu que ta fonction ne retourne rien.... la variable ne contient rien !
Donc avant de boucler... on vérifie que la variable existe et n'est pas vide
Par contre je ne comprend pas l'interet de mettre du php dans ta page HTML si ton but est de le faire en AJAX....
Cordialement,
Jordane
Première erreur
function get_rows($id = ''){ if($id != ''){ //fetch single row $query = mysql_query("SELECT * FROM tutorials WHERE id = $id"); $data = mysql_fetch_assoc($query); }else{ //fetch all rows $query = mysql_query("SELECT * FROM tutorials"); while($row = mysql_fetch_assoc($query)){ $data[] = $row; } } // Si $data existe et n'est pas vide on retourne $datas sinon on retourne NULL return !empty($data) ? $data :NULL; }
NB: Si la requête ne retourne aucun résultat ... $data est vide... et vu que tu ne l'as pas initialisé avant.. le code t'indique qu'il est "undefined".
Avec l'écriture ternaire et le !empty tu t'assures qu'il existe avant de t'en servir.
La seconde erreur est du même genre et fait suite à la première...
Tu essaies de faire :
<?php foreach($trows as $trow){ ?>
Sauf que $trows est le retour de la fonction get_rows ...
Vu que ta fonction ne retourne rien.... la variable ne contient rien !
Donc avant de boucler... on vérifie que la variable existe et n'est pas vide
<?php if(!empty($trows)){ foreach($trows as $trow){ // le reste du code de la boucle } // fin du foreach }// fin du if ?> ?>
Par contre je ne comprend pas l'interet de mettre du php dans ta page HTML si ton but est de le faire en AJAX....
Cordialement,
Jordane
15 oct. 2016 à 18:14
Je t'invite vivement à passer à mysqli ou à la PDO.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Voici un exemple d'ajax utilisant JQUERY + PDO
https://forums.commentcamarche.net/forum/affich-33258760-remplir-un-formulaire-dynamiquement-en-fonction-d-une-combobox#2
17 oct. 2016 à 09:48
mais je trouve que l'utilisateur peut vote autant de fois comment je peux controle le vote apartir de login
17 oct. 2016 à 10:27
(une simple requête de type SELECT WHERE )
Tu peux le faire au moment du vote ou avant le vote (via un AJAX par exemple).
Ceci étant une nouvelle question... je t'invite, SI TU N'Y ARRIVES PAS, à ouvrir une nouvelle discussion sur le forum.