Si quelqu'un pourrait m'aider ... J'ai essayé un code, sans succès. Je contient dans ma colonne 'valide' en int, des nombres au dessus de 0. Je fais la liaison entre "id" qui est connecté (qu'on trouve dans la table 'membres') et "id_destinataire1" qui doit correspondre au même que "id". Maintenant, je select tout les nombre situés dans "valide" (dans ma table messages) et je les additionne. Ensuite je les affiche avec
<?php echo $totaltokens['valide']; ?>
Mon code :
<?php
if(isset($_SESSION['id']) AND $_SESSION['id'] > 0)
{
$getid = intval($_SESSION['id']);
$requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
$requser->execute(array($getid));
$userinfo = $requser ->fetch();
$reqtokens = $bdd->prepare('SELECT * FROM messages WHERE id_destinataire1 = ?');
$reqtokens->execute([$userinfo['id']]);
$totaltokens = $reqtokens->fetch();
$reqtokensvalide = $bdd->prepare('SELECT * FROM messages WHERE valide = ?');
$reqtokensvalide->execute([$userinfo['id']]);
$totaltokensvalide = $reqtokensvalide->rowCount();
?>
Problème / ! \ Ca affiche bien un nombre qui est contenu dans "valide", mais aucune addition n'est faite. Parfois, j'ai la valeur 30, 40,20... dans ma colonne "valide" mais il m'affiche une seul valeur parmi les trois. Alors que je souhaite les additionner entre elles.
Merci pour ton aide, alors avec le print_r cela m'affiche
Array ( [SUM(valide)] => [0] => )
Je pense que ça veut dire qu'il n'y a rien dans la colonne 'valide' ? Si c'est cela, alors je ne comprends pas, car des données sont bien contenus dans la colonne 'valide' et la table 'messages'.
Cordialement
EDIT :
Je ne sais pas, mais les requetes que j'ai fait ne sont pas reliée, ce n'est pas grave normalement ? Mais peut être y'a t-il un impact sur le résultat ?
En gros une jointure te permet de joindre comme son nom l'indique plusieurs tables (ex: table_a & table_b) <, pour cela il faut donc une relation entre tes tables (ici membres id est je suppose identique à messages id_destinataire1) et te permet donc de filtrer sur les deux tables ou de récupérer une ou plusieurs colonnes. Mon explication est très succinte je l'avoue. Mais de la doc tu trouveras!
Pour ton cas cela donnerai quelque chose comme cela:
select sum(valide) as somme from messages as m inner join membres as u on u.id = m.id_destinataire1 where u.id = ?
Ce que je ne comprends toujours pas c'est que dans tes requête tu dis que valide = userInfo[id] donc à ton id de ton utilisateur? Pourquoi donc deux jointures valide et id_destinataire1? Sans avoir le détail de tes tables quand je lis je m'attend a trouver un boolean dans valide. Je compte donc sur toi pour nous donner plus d'explication afin de t'aider dans ta requête.
PS: désolé aussi pour la reponse tardive mais j'ai aussi bcp de travail.
Tiens nous au courant.
" Celui qui aime à apprendre est bien près du savoir " Confucius
Problème d'addition des valeurs dans ma table
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
" Celui qui aime à apprendre est bien près du savoir " Confucius
" Celui qui aime à apprendre est bien près du savoir " Confucius
N'oubliez pas d'activer les erreurs PDO.
" Celui qui aime à apprendre est bien près du savoir " Confucius