Recupération doonées bdd et traitement (comptage)
Résolu/Fermé
A voir également:
- Recupération doonées bdd et traitement (comptage)
- Traitement de texte gratuit - Guide
- Convertisseur récupération de texte - Guide
- Recuperation video youtube - Guide
- Traitement de texte gratuit open office - Télécharger - Suite bureautique
- Dictionnaire des maladies et traitement - Télécharger - Bureautique
3 réponses
jordane45
Messages postés
38451
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 mars 2025
4 739
17 avril 2020 à 11:41
17 avril 2020 à 11:41
Bonjour,
Oui
Une requête SQL utilisant un COUNT par exemple.
Par contre, pour n'avoir que les non-lus, tu vas devoir gérer avec un champ supplémentaire dans ta table que tu pourras passer à "1" lorsque le message est lu par le destinataire.
Ma question est-ce qu'une requete sql, un script peut faire ça?
Oui
Une idée, une piste?
Une requête SQL utilisant un COUNT par exemple.
Par contre, pour n'avoir que les non-lus, tu vas devoir gérer avec un champ supplémentaire dans ta table que tu pourras passer à "1" lorsque le message est lu par le destinataire.
J'ai activé les erreurs
Dans ici je dois utiliser fetchall, c'est juste?
Je comprends pas... Moi je veux un chiffre en retour (x messages non-lu) et ici on parler de retourner un array
Dans ici je dois utiliser fetchall, c'est juste?
Je comprends pas... Moi je veux un chiffre en retour (x messages non-lu) et ici on parler de retourner un array
jordane45
Messages postés
38451
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 mars 2025
4 739
17 avril 2020 à 14:52
17 avril 2020 à 14:52
Ta requête doit te retourner combien de lignes ?
De cette réponse dépend quel "fetch" utiliser.
A savoir qu'on teste toujours ses requêtes DIRECTEMENT dans sa bdd (via phpmyadmin par exemple ) AVANT de les utiliser dans son code PHP.
De cette réponse dépend quel "fetch" utiliser.
A savoir qu'on teste toujours ses requêtes DIRECTEMENT dans sa bdd (via phpmyadmin par exemple ) AVANT de les utiliser dans son code PHP.
jordane45
Messages postés
38451
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 mars 2025
4 739
Modifié le 17 avril 2020 à 14:55
Modifié le 17 avril 2020 à 14:55
Tu as également l'exemple de requête préparée qui se trouve dans le lien ?
Au lieu d'utiliser le ->query qui n'est pas sécurisé... utilises le prepare et le execute.
Le tout, comme dans l'exemple, dans un bloc try/catch.
Au lieu d'utiliser le ->query qui n'est pas sécurisé... utilises le prepare et le execute.
Le tout, comme dans l'exemple, dans un bloc try/catch.
//préparation de la requête et des variables $sql = 'SELECT COUNT(ID) as NB FROM forum_membres WHERE genre="987654321" AND correspondant= :correspondant '; $datas = array(':correspondant '=>$B_ID); //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; $res = $requete->fetch(); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } $NB = !empty($res['NB']) ? $res['NB'] : 0;
je veux que ça compte le nombre d'ID différent se trouve dans la colonne ID (la colonne ID étant l'envoyeur du message) et ayant la correspond avec mon id.
J'ai besoin que la requete me retourne un nombre, x messages non-lu. Je n'ai pas besoin des messages donc pas besoin de me retourner des lignes de la bdd
J'ai du mal...
Ah ça par contre je ne savais pas, je le ferais dorenavant
J'ai besoin que la requete me retourne un nombre, x messages non-lu. Je n'ai pas besoin des messages donc pas besoin de me retourner des lignes de la bdd
J'ai du mal...
Ah ça par contre je ne savais pas, je le ferais dorenavant
jordane45
Messages postés
38451
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 mars 2025
4 739
17 avril 2020 à 15:01
17 avril 2020 à 15:01
Testes le code que je t'ai donné... tu vas obtenir le nombre voulu... dans la variable $NB
TUCS
>
jordane45
Messages postés
38451
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 mars 2025
17 avril 2020 à 15:08
17 avril 2020 à 15:08
Il me retourne cette erreur:
Erreur ! SQLSTATE[HY093]: Invalid parameter number: parameter was not defined Les datas : Array ( [:correspondant ] => 1001 )
Erreur ! SQLSTATE[HY093]: Invalid parameter number: parameter was not defined Les datas : Array ( [:correspondant ] => 1001 )
TUCS
>
jordane45
Messages postés
38451
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 mars 2025
17 avril 2020 à 15:13
17 avril 2020 à 15:13
Il y avait une erreur dans le nom de ma colonne... Le problème est résolu
Jordane, cela m'écrit le nombre de messages non-lu... J'aimerais le nombre auteur différent avec des messages non-lu.
C'est une autre requete ou il faut juste mettre une précision dans la requete?
Ici tu m'écris 2 messages, ça écrire deux. Mon but c'est que peut importe le nbre de message que tu m'as envoyé ça met 1 car une personne à des messages non-lu.
C'est une autre requete ou il faut juste mettre une précision dans la requete?
Ici tu m'écris 2 messages, ça écrire deux. Mon but c'est que peut importe le nbre de message que tu m'as envoyé ça met 1 car une personne à des messages non-lu.
17 avril 2020 à 12:33
J'avais repéré ça mais je n'étais pas sûr et puis j'ai du mal à voir comment je dois faire...
Je dois juste faire cette requete: SELECT COUNT(IDauteur) FROM utilisateur WHERE IDdestinaire = mon id ?
17 avril 2020 à 12:52
Et si tu veux le nombre pas hauteur dans ce cas-là il faut en plus ajouter un group by
Modifié le 17 avril 2020 à 14:27
Comme je sais ce code ne fonctionne pas... J'utilise toujours mes requêtes avec la seconde ligne et donc avec fetch. Mais dans ce cas ce n'est pas ce qu'il me faut. J'ai déjà fait des requetes avec autres choses que fetch mais impossibles de m'en souvenir ou retrouver une page avec un exemple.
Pourrais-tu me venir en aide?
Je sais que c'est les bases mais n'en faisant pas beaucoup, j'oublie de temps en temps une partie des bases. :(
Dans le where: genre c'est un nombre pour identifier le chat car il y en a plusieurs...
Dans cette requete je ne tiens pas encore compte du lu ou non lu.
17 avril 2020 à 14:27
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
A savoir que : le "fetch" retourne 1 ligne du résultat de la requête
fetchAll retourne un array avec TOUTES les lignes de résultat