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>
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: