Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Balatharas, Codeur61, Jerem971
Auteur Sujet: Additionner des valeurs d'un même id

Codeur61

Messages: 100

Bonjour, 
Je me tourne vers vous n'ayant pas trouvé sur Google ce que je recherchais..
Je n'arrive pas à donner une variable aux données appartenant à un même id pour ensuite les additionner et les afficher.
Je pensais à faire un SELECT de ma table 'message', et sélectionner tout les champs du même 'id' qui sont situé dans la colonne 'attente'.
Ensuite, je les affiche avec un echo. 
Je pense que je devrais stocker dans ma table 'membres' cette fois ci, le total de 'attente' pour chaque id, et l'afficher (le total), plutôt que de faire le calcul sans avoir de vue d'ensemble sur mon PMA.
Je ne sais pas comment formuler cela. Il me manque quelques petites infos je pense.
Merci de votre aide.
Publicité

Codeur61

Messages: 100

Bonjour,

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 de votre aide,
cordialement

Jerem971

Messages: 773

Hello @Codeur61,

Tout d'abord ton code, dis-moi, a-t-il un rapport avec le tutoriel PayPal de Boris ? Parce que les variables me disent quelques choses après avoir vu le topic de @babawana. Sinon si ça n'a rien à voir, est-ce qu'il s'agit d'un formulaire qui ajoute les données dans une base de données ? Ou c'est un script qui le fait automatiquement ?

Codeur61

Messages: 100

Salut, 
Aucun rapport avec les tutoriel paypal il me semble 😉 Mais babawana, c'est moi 😋 je ne me souvenais plus de mon compte il y a un ptit temps, et maintenant, j'utilise les deux 😋
Non, ce code n'est pas un formulaire, je veux juste qu'il lise les informations situés dans ma bdd pour un même utilisateur, et qu'il les additionnes.
(pour ensuite les afficher)
Merci

Clouder

Messages: 161

Je voudrais bien d'aider mais sérieusement j'ai rien compris à ton explication ....

Que veux-tu avoir comme résultat ?

Codeur61

Messages: 100

Salut, 
Je veux récupérer des infos de la colonne 'valide' situées dans ma table 'messages'.
Ensuite, je veux additionner toutes les valeurs situées dans 'valides' pour l'id qui est connecté, et les afficher avec un echo.
Crdlt 

Balatharas

Messages: 646

Le plus simple serait de nous envoyer un screen de la table concernée parce que je comprend pas tout non plus mdr
Sinon, si j'ai bien compris, tu as dans une de tes tables une colonne 'attente' qui contient un id qui peut être le même pour plusieurs lignes.
Tu souhaites toutes les récupérer pour les additionner et obtenir un total donc.
Dans ce cas la le code de ton deuxième message est sur la bonne voie (selon moi mdr)
Mais en fait comme il y a plusieurs lignes trouvées, il ne t'en donne qu'une car le code ne s'exécute qu'une fois
Dans ce cas la il faut utiliser la boucle while pour que ton code s'exécute autant de fois que tu as de ligne
$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();

while($t = $reqtokensvalide->fetch()) {
   echo $t['valide'].'; '; // echo simple

}
Je sais pas si c'est ce que tu veux, si c'est pas le cas ça devrait t'aider quand même (je connais pas du tout ton code donc bon)

Codeur61

Messages: 100

Salut, 
C'est exactement ce que je comptais faire....
J'envoi ma table "membres" et "messages".
Messages :

Membres :


Code 

<?php
session_start();
$bdd = new PDO('mysql:host=185.98.131.94;dbname=gagne1089909' , 'gagne1089909', 'highte06062004');
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();
while($t = $reqtokensvalide->fetch()) {
   echo $t['valide'].'; '; // echo simple
}
print_r($totaltokensvalide);
?>

J'ai fait un print_R de $totaltokensvalide, mais cela m'affiche 0, alors que pour mon id_destinataire1, dans "valide", il y a 45..
Je cherche le problème, mais ça me parait complexe 😋

Bien cordialement, 
Bonne soirée 

Balatharas

Messages: 646

Alors faut savoir x) tu cherches a afficher quoi au final ? Maintenant qu’on a la table ça va être plus simple. La je suis téléphone donc je pourrais manipuler du code peut-être demain. Sinon au niveau du echo $t valide, ca te donne quoi ? Et que te manque t il ? Tu peux aussi essayer de modifier le code par ci par la, d’avancer à tâtons.

Codeur61

Messages: 100

Salut, 
Je répond assez tard, j'avais beaucoup de travail ;( 
Cela ne m'affiche rien pour le $t valide, je m'y suis remit depuis se matin, toujours rien. 
Cordialement

Balatharas

Messages: 646

Ta colonne « valide » est censée contenir quoi
On va avancer étapes par étapes 


Vous devez vous connecter ou créer un compte pour poster une réponse