Archives de la liste d​e​v​@p​a​h​e​k​o​.c​l​o​u​d​

Liste par membres et par compte des credits

Thomas Maignan

25/03/2024 13:57:56

Bonjour,

J'essaye d'avoir une synthèse par membre et par compte des crédits. Autant
j'ai bien ma liste de membres autant les crédits sont totalement erronés
avec des chiffres à plusieurs millions  :

{{:admin_header title="Reçu de don" current="acc"}}

<p class="block help">Bonjour</p>

{{#select * FROM users ; assign="membres."}}{{/select}}

<table>
  <tr>
    <th width="20%">Nom</th>
    <th width="20%">Total</th>
    <th width="20%">Total Solidarité</th>
  </tr>
  {{#foreach from=$membres}}
  <tr>
    <td width="20%">{{$nom}}</td>
    {{:assign var="transactions" value= null}}
    {{#select * FROM acc_transactions_users WHERE id_user = {$id} ;
assign="transactions."}}{{/select}}

    {{:assign total = null}}
    {{:assign totalSolidarite = null}}
    {{:assign solidarite = null}}

    {{#foreach from=$transactions}}


           {{#transaction_lines id_transaction=$id}}
               {{if $debit == null }}

       {{:assign total="%d+%d"|math:$credit:$total}}

   {{:assign compteSolidarite = 556}}
   {{if $id_account == $compteSolidarite }}
   {{:assign totalSolidarite="%d+%d"|math:$credit:$totalSolidarite}}
   {{/if}}

{{/if}}
{{/transaction_lines}}

    {{/foreach}}

    <td width="20%">{{$total|raw|money_currency:false}}</td>
    <td
width="20%">{{$totalSolidarite|raw|money_currency:false}}</td>
  </tr>
  {{/foreach}}
</table>

{{:admin_footer}}

Avez-vous une idée ? Je débute, désolé !

Salutations,


-
Thomas
T: 06 99 53 70 61
114 Boulevard de Charonne - 75020 Paris

Liste par membres et par compte des credits

lesanges at murena.io via dev

25/03/2024 15:46:07

Ça m'a l'air un peu compliqué... Tu multiplies les itérations imbriquées,
ça 
donne des temps de réponse proche de l'infini :(

Je préconise une requête sql qui réalise les jointures entre tables de façon 
plus efficace.

Voici un exemple : cette requête cumule les versements des membres sur l'année 
précédente.

Elle ne répond pas exactement à ta demande, mais pourra servir de base à ta 
réflexion

SELECT
	users.id as 'idPers',
	users.nom as 'Nom',
	printf('%.2f', sum(acc_transactions_lines.credit)/100.) AS 'Montant',
	users.adresse as 'Adresse',
	users.code_postal as 'Code postal',
	users.ville as 'Ville'
FROM
	acc_transactions_users
	INNER JOIN users
		ON acc_transactions_users.id_user = users.id
	INNER JOIN acc_transactions
		ON acc_transactions_users.id_transaction = acc_transactions.id
	INNER JOIN acc_transactions_lines
		ON acc_transactions_lines.id_transaction = acc_transactions.id
WHERE strftime('%Y', acc_transactions.date) =  strftime('%Y', 
date('now', '-1 
year'))
GROUP by users.id
ORDER by users.nom COLLATE NOCASE


Jean-Christophe Engel

Le 25/03/2024 à 13:57, Thomas Maignan a écrit :
> Bonjour,
> 
> J'essaye d'avoir une synthèse par membre et par compte des crédits.
Autant j'ai 
> bien ma liste de membres autant les crédits sont totalement erronés avec des

> chiffres à plusieurs millions  :

Liste par membres et par compte des credits

Thomas Maignan

25/03/2024 17:21:46

Merci, c'est nickel !

-
Thomas
T: 06 99 53 70 61
114 Boulevard de Charonne - 75020 Paris



Le lun. 25 mars 2024 à 15:45, Jean-Christophe Engel <lesanges@murena.io> a
écrit :

> Ça m'a l'air un peu compliqué... Tu multiplies les itérations
imbriquées,
> ça
> donne des temps de réponse proche de l'infini :(
>
> Je préconise une requête sql qui réalise les jointures entre tables de
> façon
> plus efficace.
>
> Voici un exemple : cette requête cumule les versements des membres sur
> l'année
> précédente.
>
> Elle ne répond pas exactement à ta demande, mais pourra servir de base à
> ta
> réflexion
>
> SELECT
>         users.id as 'idPers',
>         users.nom as 'Nom',
>         printf('%.2f', sum(acc_transactions_lines.credit)/100.) AS
> 'Montant',
>         users.adresse as 'Adresse',
>         users.code_postal as 'Code postal',
>         users.ville as 'Ville'
> FROM
>         acc_transactions_users
>         INNER JOIN users
>                 ON acc_transactions_users.id_user = users.id
>         INNER JOIN acc_transactions
>                 ON acc_transactions_users.id_transaction =
> acc_transactions.id
>         INNER JOIN acc_transactions_lines
>                 ON acc_transactions_lines.id_transaction =
> acc_transactions.id
> WHERE strftime('%Y', acc_transactions.date) =  strftime('%Y', 
date('now',
> '-1
> year'))
> GROUP by users.id
> ORDER by users.nom COLLATE NOCASE
>
>
> Jean-Christophe Engel
>
> Le 25/03/2024 à 13:57, Thomas Maignan a écrit :
> > Bonjour,
> >
> > J'essaye d'avoir une synthèse par membre et par compte des
crédits.
> Autant j'ai
> > bien ma liste de membres autant les crédits sont totalement erronés
avec
> des
> > chiffres à plusieurs millions  :
>

No input file specified. depuis le passage en php8.2.15 sur le serveur!

philippe.marechal

04/04/2024 19:19:37

Bonjour,

help,

No input file specified.


depuis le passage en php8.2.15!

@+

philippe

No input file specified. depuis le passage en php8.2.15 sur le serveur!

BohwaZ/Paheko

04/04/2024 19:37:28

Mauvaise liste.

Voir https://fossil.kd2.org/paheko/wiki?name=Entraide

Voir avec ton hébergeur, probablement un souci de configuration sur le
serveur, ça n'a rien à voir avec Paheko…