- Home
- Categorie
- Coding e Sistemistica
- PHP
- script compleanno
-
ma se lo metto prima del while, la tabella non la visualizza anche se non ci sono compleanni??
-
Appunto devi trovare un'altro controllo o semplicemente quando la chiudi, inserisci una riga vuota: così la tabella c'è ma non si vede... almeno che non sia una tabella dai bordi visibili.
-
si è colorata....
-
beh, allora dopo la query ti calcoli:
$num_righe = mysql_num_rows($atleti);
quindi o modifichi il loop passando ad un ciclo for oppure metti una variabile a zero ($i=0) e per ogni loop la incrementi di un'unità.
Detto ciò, solo quando $i==1 e*** $i==$num_righe*** fai scrivere l'apertura e la chiusura della tabella.
-
potresti spiegarmi un po meglio x favore??
non sono molto ferrato in php...sto iniziando ora..
Grazie...
-
se usi where non è meglio?
il ciclo diventa più breve e usi meno il server...
-
e che condizione metto nel WHERE?
grazie
-
arieccomi...sembrava funzionare tutto bene...invece sto riscontrando dei problemi...
praticamente questo è lo script:[PHP]
<?php
$atleti=@mysql_query ("SELECT * FROM atleti");
$num_righe = mysql_num_rows($atleti);
$in=0;
while($atl=mysql_fetch_array($atleti)){
$c=1;
$somma=$in+$c;
$nome=$atl['nome'];
$cognome=$atl['cognome'];
$id=$atl['id_atl'];
$data=$atl['data'];
$comple=date("d-m",$data);
$anni=(date("Y"))-(date("Y",$data));
if($oggi==$comple){
if ($somma==1) {
echo "<table width="185" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><p style="margin-top: 0; margin-bottom: 0"><img src="images/box_comple/box_comple_01.png" width="185" height="37"></p>
<table width="185" border="0" cellspacing="0" cellpadding="0">";
}
echo "<tr>
<td width="7" valign="top" background="images/box_comple/box_comple_07.png"><img src="images/box_comple/box_comple_02.png" width="7" height="34"></td>
<td rowspan="3" valign="top" background="images/box_comple/box_comple_09.png"><p style="margin-top: 10; margin-bottom: 0"><div align="center"><a href="atleta.php?id=$id">$somma $nome $num_righe $cognome</a></div></p><p style="margin-top:0; margin-bottom: 0"><div align="center"><a href="atleta.php?id=$id">$anni Anni!</a></div></p></td>
<td width="7" valign="top" background="images/box_comple/box_comple_12.png"><img src="images/box_comple/box_comple_04.png" width="7" height="34"></td>
</tr>
<tr>
<td background="images/box_comple/box_comple_07.png"> </td>
<td background="images/box_comple/box_comple_12.png"> </td>
</tr>
<tr>
<td valign="bottom" background="images/box_comple/box_comple_07.png"><img src="images/box_comple/box_comple_16.png" width="7" height="23"></td>
<td valign="bottom" background="images/box_comple/box_comple_12.png"><img src="images/box_comple/box_comple_07-15.png" width="7" height="30"></td>
</tr>";if ($somma==$num_righe) { echo "</table> <img src=\"images/box_comple/box_comple_17.png\" width=\"185\" height=\"16\"></td> </tr> </table>"; } } }
?>
[/PHP]Benissimo in **$num_righe **in questo modo gli va a mettere il numero complessivo di tutti gli atleti presenti nel database...mentre dovrei estrarre solo quegli atleti la il cui mese e gg di nascita siano uguali a quelli di "oggi"...
come si fa una cosa del genere?
la data è salvata nel database in formato mktime.
Grazie tante...
-
Modifica le due righe:
if($oggi==$comple){
if ($somma==1) {in
$tot=0;
if($oggi==$comple){
$tot++;
if ($somma==1) {Cioè ogni volta che si verifica la condizione compleanno $tot viene incrementato di un'unità. Alla fine del ciclo while in $tot hai la quantità cercata.
-
e poi alla fine
[PHP] if ($somma==$num_righe) {
echo "</table>
<img src="images/box_comple/box_comple_17.png" width="185" height="16"></td>
</tr>
</table>";
[/PHP]lo lascio così o lo cambio con $tot?
-
$tot è una cosa, $somma è un'altra, nel cui merito non sono entrato: prova solo le modifiche indicate.