• Home
  • Forum
  • Fare Web
  • PHP

Selezione sulla base di una data

  • Creatore Discussione Creatore Discussione renoir09
  • Data di inizio Data di inizio 10 Ago 2009
  • Tag Tag
    data form mysql timestamp
Prec.
  • 1
  • 2
Primo Prec. 2 di 2

renoir09

Utente Attivo
10 Ago 2009
72
0
0
  • 20 Ago 2009
  • #21
la query dovrebbe essere ok (anche se inserendola su Mysql pur non evidenziando errori non mi seleziona nulla) ma non riesco ad avere una selezione: ricevo una pagina bianca anche se ad esempio il numero dei donatori (nel 2009 erano 2) me lo evidenzia (appare infatti 2)...
per semplicità ho indicato solo "2009" come anno, poi pensavo di sostituirla con una variabile $anno...
lo scopo della query dovrebbe essere quella di avere una lista di tutti i donatori che in un particolare anno abbiano versato piu' di 50 euro e con accanto la somma versata per quell'anno...
andrebbe bene anche se non fosse integrata con un form dove inserisco un dato anno, nel senso che se io ottengo questo da quella pagina:
id donatoreA 51 euro nel 2009
id donatoreB 60 euro nel 2008
ecc.

comunque ho provato a postare il codice che ho usato (come sempre mi appoggio a codici che ho già in archivio)...


<?php
$q = "SELECT
tot.nome, tot.totale
FROM
(SELECT tbldonatori.nomedonatore AS nome, tbldonatori.id, tbldonazioni.iddonatore, SUM(tbldonazioni.ammontare) AS totale
FROM tbldonatori
LEFT JOIN tbldonazioni
ON tbldonatori.id = tbldonazioni.iddonatore
WHERE
YEAR(data) = '2009'
GROUP BY tbldonatori.id
) AS tot
WHERE
tot.totale > 50";

$sql = mysql_query($q) or die ("Fout: " . mysql_error());
$row = mysql_num_rows($sql) or die ("Fout: " . mysql_error());


?>
<table>
<tr>
<th colspan="15" align="center">Numero Donatori: <? echo $row;?></th>

</tr>
<tr>
<td colspan="15">
<hr />
</td>
</tr>
<tr class="t_r">
<td class="t_k">
<strong>Numero</strong> </td>
<td class="t_k">
<strong>Nome</strong>
<td class="t_k">
<strong>Somma</strong> </td>
</tr>

<?php


while ($r = mysql_fetch_object($sql))
{


echo "<tr><td class='t_c'>" . $r->id . "</td>" ;
echo "<td class='t_c'>" . $r->nome . "</td>";

echo "<td class='t_c'>$sql </td>" ;





}
?>
</table>
 
Ultima modifica: 20 Ago 2009

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
  • 20 Ago 2009
  • #22
Ho riprovato la query e da me in locale funziona perfettamente. Nel mio DB di prova ho 2 donatori che nel 2009 hanno fatto donazioni per un totale che supera i 50 euro e li trovo correttamente.
Quindi, la mia prima domanda, per quanto banale, è se sei sicuro che nella tua base dati l'anno 2009 debba restituire dei risultati.
Hai provato ad eseguirla così com'è utilizzando ad esempio phpMyAdmin o altro client?
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
  • 20 Ago 2009
  • #23
Prova ad effettuare una piccola modifica alla query:

Codice:
SELECT tot.id, tot.nome, tot.totale
FROM (
SELECT tbldonatori.nomedonatore AS nome, tbldonatori.id AS id, tbldonazioni.iddonatore, SUM(tbldonazioni.ammontare) AS totale
FROM tbldonatori
LEFT JOIN tbldonazioni ON tbldonatori.id = tbldonazioni.iddonatore
WHERE YEAR(data) = '2009'
GROUP BY tbldonatori.id) AS tot
WHERE tot.totale >50

Poi nel codice PHP che utilizzi per recuperare i dati dal resultset e creare la table prova così (a me funziona):

PHP:
while ($r = mysql_fetch_array($sql)) {
    echo "<tr><td class='t_c'>" . $r["id"] . "</td>" ;
    echo "<td class='t_c'>" . $r["nome"] . "</td>";
    echo "<td class='t_c'>". $r["totale"] ."</td></tr>" ;
}
 

renoir09

Utente Attivo
10 Ago 2009
72
0
0
  • 20 Ago 2009
  • #24
siiiiiiiiiiiiiiiiiiiii2!!!!!!

:fonzie:
funziona!!!
da perderci la testa...se confronto i due codici non avevo richiamato correttamente i dati nella stampa dei risultati :*-(
inoltre vedo che hai usato mysql_fetch_array invece di object...
ora provo a vedere che succede se al posto dell'anno inserisco una variabile anno da inserire con un form...
grazie sempre per i preziosi consigli...
approfitto per rompere ancora su una cosa: esiste una funzione per fare in modo che i risultati che ottengo siano accompagnati da una numerazione?
ad esempio:
1 nomeA 60 euro
2 nomeB 54 euro
...
n/numero n/nome n/euro

guardavo sul sito php.net ma (sicuramente per mia imperizia) non ho trovato nulla...
con num_rows ottengo solo il numero totale delle righe non una sequenza...
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
  • 20 Ago 2009
  • #25
Se vuoi semplicemente mettere un progressivo prima di ogni riga puoi fare così:

PHP:
$index = 1;
while ($r = mysql_fetch_array($sql)) {
    echo "<tr><td class='t_c'>" . $index++ . "</td>" ;
    echo "<td class='t_c'>" . $r["id"] . "</td>" ;
    echo "<td class='t_c'>" . $r["nome"] . "</td>";
    echo "<td class='t_c'>". $r["totale"] ."</td></tr>" ;
}

aggiungendo una colonna alla table.
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
  • 20 Ago 2009
  • #26
Se vuoi utilizzare la funzione mysql_fetch_object() puoi fare così:

PHP:
while ($r = mysql_fetch_object($sql)) {
    echo "<tr><td class='t_c'>" . $r->id . "</td>" ;
    echo "<td class='t_c'>" . $r->nome . "</td>";
    echo "<td class='t_c'>". $r->totale ."</td></tr>" ;
}

Il problema di prima era che nella select non recuperavi il campo id.
 

renoir09

Utente Attivo
10 Ago 2009
72
0
0
  • 20 Ago 2009
  • #27
Grandeeeeeeeee


Va alla grande...
quindi bastava solo porre una variabile "1" e farla incrementare con ++...
dico "bastava" in senso ironico perchè io magari ci sarei forse arrivato dopo giorni...
certo che è affascinante lavorare con i codici anche se per chi come me ha sempre lavorato sul visuale all'inizio è un trauma...
ma quando hai la fortuna di trovare persone disponibili e competenti sui forum tutto diventa piu' facile...
adesso provo ad integrare il codice con la variabile anno ed aggiungere un link per generare e stampare una ricevuta per ogni utente...
bye
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

Update basato sulla selezione dell'utente
  • blips
  • 20 Giu 2013
  • PHP
Risposte
0
Visite
1K
PHP 20 Giu 2013
blips
I
Selezione lingue in sito
  • Ikon
  • 31 Mar 2024
  • PHP
Risposte
0
Visite
1K
PHP 31 Mar 2024
Ikon
I
L
Selezione rettangolare
  • Lagmar88
  • 22 Ago 2023
  • Photoshop
Risposte
1
Visite
2K
Photoshop 26 Ago 2023
WmbertSea
E
problema selezione sfumata
  • Elly 683
  • 20 Ott 2022
  • Photoshop
Risposte
2
Visite
1K
Photoshop 21 Ott 2022
chrdam
C
L
Query e selezione DB con $_POST
  • Luigi1972
  • 18 Ott 2022
  • PHP
Risposte
2
Visite
959
PHP 19 Ott 2022
Luigi1972
L
B
Selezionare un'immagine e salvare la selezione
  • biasutti
  • 12 Apr 2022
  • Photoshop
Risposte
3
Visite
2K
Photoshop 13 Apr 2022
WmbertSea
F
Immagine come fosse selezione attiva
  • Fondoblu
  • 20 Mar 2022
  • Photoshop
Risposte
1
Visite
1K
Photoshop 21 Mar 2022
WmbertSea
A
Errore visualizzazione selezione testo
  • Ale89
  • 28 Ott 2020
  • Photoshop
Risposte
0
Visite
1K
Photoshop 28 Ott 2020
Ale89
A
R
Filtro multiplo di selezione Sql
  • Riccardo Contu
  • 8 Ago 2020
  • PHP
Risposte
2
Visite
1K
PHP 8 Ago 2020
Max 1
[Javascript] TinyDatePicker data format e selezione progressiva.
  • maxnegri
  • 14 Lug 2019
  • Javascript
Risposte
0
Visite
2K
Javascript 14 Lug 2019
maxnegri
M
[PHP] Selezione da menu a discesa con 2 variabili
  • Max61
  • 11 Mar 2019
  • PHP
Risposte
0
Visite
2K
PHP 11 Mar 2019
Max61
M
V
access 2007, maschera con caselle di selezione
  • valdecchio
  • 24 Gen 2019
  • Programmazione
Risposte
4
Visite
2K
Programmazione 13 Feb 2019
macus_adi
M
[PHP] Selezione record da elenco
  • Max61
  • 3 Gen 2019
  • PHP
  • 2
Risposte
24
Visite
4K
PHP 6 Gen 2019
marino51
[PHP] Errore query selezione avg
  • Tommy03
  • 12 Dic 2018
  • PHP
Risposte
0
Visite
1K
PHP 12 Dic 2018
Tommy03
G
[ASP] Incrementare un valore on the fly su selezione select
  • GoG
  • 14 Set 2018
  • Classic ASP
Risposte
3
Visite
2K
Classic ASP 11 Feb 2019
vic53
V
W
[PHP] Come far funzionare un form di selezione
  • webMood
  • 5 Apr 2018
  • PHP
Risposte
12
Visite
4K
PHP 9 Apr 2018
macus_adi
U
[PHP] Selezione con menu a tendina e recupero selezione
  • ugo.ugo
  • 19 Dic 2017
  • PHP
Risposte
5
Visite
9K
PHP 26 Dic 2017
ugo.ugo
U
S
[WordPress] [HTML] Bordo di selezione area - Link di ancoraggio
  • salvoooh
  • 19 Ott 2017
  • WordPress
Risposte
3
Visite
2K
WordPress 19 Ott 2017
Max 1
A
[Javascript] Selezione dinamica video
  • anto4392
  • 23 Mag 2017
  • Javascript
Risposte
0
Visite
1K
Javascript 23 Mag 2017
anto4392
A
A
[Javascript] Selezione dinamica
  • anto4392
  • 22 Mag 2017
  • Javascript
  • 2
Risposte
27
Visite
5K
Javascript 31 Mag 2017
anto4392
A
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?