Selezione sulla base di una data

renoir09

Utente Attivo
10 Ago 2009
72
0
0
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:

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
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
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
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
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
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
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
 
Discussioni simili
Autore Titolo Forum Risposte Data
blips Update basato sulla selezione dell'utente PHP 0
I Selezione lingue in sito PHP 0
L Selezione rettangolare Photoshop 1
E problema selezione sfumata Photoshop 2
L Query e selezione DB con $_POST PHP 2
B Selezionare un'immagine e salvare la selezione Photoshop 3
F Immagine come fosse selezione attiva Photoshop 1
A Errore visualizzazione selezione testo Photoshop 0
R Filtro multiplo di selezione Sql PHP 2
maxnegri [Javascript] TinyDatePicker data format e selezione progressiva. Javascript 0
M [PHP] Selezione da menu a discesa con 2 variabili PHP 0
V access 2007, maschera con caselle di selezione Programmazione 4
M [PHP] Selezione record da elenco PHP 24
Tommy03 [PHP] Errore query selezione avg PHP 0
G [ASP] Incrementare un valore on the fly su selezione select Classic ASP 3
W [PHP] Come far funzionare un form di selezione PHP 12
U [PHP] Selezione con menu a tendina e recupero selezione PHP 5
S [WordPress] [HTML] Bordo di selezione area - Link di ancoraggio WordPress 3
A [Javascript] Selezione dinamica video Javascript 0
A [Javascript] Selezione dinamica Javascript 27
F Alert selezione checkbox jQuery 6
gandalf1959 mysql, selezione dati ricorrenti più volte PHP 8
E [PHP] selezione automatica lingua PHP 14
S [PHP] Selezione dati con riferimento ad altra colonna tabella PHP 22
F Mantenere selezione immagine Javascript 1
N selezione elementi Javascript 0
asevenx Cerco plugin per gestire appuntamenti con agenda e campi di selezione WordPress 4
M Visualizzare tabella in base a selezione PHP 1
G L'interno della selezione non cambia Photoshop 1
M Cambiare valore ad un campo in base alla selezione fatta nel menu a tendina PHP 16
Marco_88 Verificare la selezione degli elementi dom jQuery 2
L Selezione dinamica da form. PHP 0
M selezione da più tabelle PHP 1
F Problema selezione dinamica select/jsp/mysql Javascript 0
L elenco file immagini con checkbox di selezione PHP 1
K errore durante la selezione del Database PHP 2
D Selezione di dati da più tabelle in Mysql PHP 3
L Selezione elementi nel menù in base ad una select jQuery 1
M [risolto] Passaggio valore tramite link per selezione dati su database. PHP 3
A Visualizzare albero DOM completo oppure Visualizzare Nodi che fanno parte di una Selezione Javascript 6
C Sviluppo chat con particolari criteri di selezione per web-app su mobile Offerte e Richieste di Lavoro e/o Collaborazione 1
I Submit in base alla selezione PHP 1
P come gestire la selezione data PHP 40
S selezione di una foto di una photogallery PHP 4
F Problema con selezione di un file nel database PHP 5
U Estrazione dati da un db con un menu selezione in cascata PHP 6
I come posso creare una pagina di inserimento con selezione di mensilità? PHP 1
L Selezione da database con DropDown Menu e visualizzazione PHP 10
G selezione progressiva delle righe di una tabella Javascript 11
F Inserire voci di selezione PHP 3

Discussioni simili