Salve a tutti! Ho un problema con una pagina. Vorrei visualizzare due menu a discesa contenenti entrambi le stesse date prese da un database MySQL. Questo è il mio codice:

Codice PHP:
<?php
$dbcnx 
mysql_connect('localhost'rootroot);
if (!
$dbcnx) {
    echo 
'

Non posso connettermi con il database.</p>'
;
    exit ();
}

if (!
mysql_select_db('db_cassa')) {
    exit (
'

Non riesco a trovare il database.</p>'
);
}

$sql 'SELECT id, data FROM cassa GROUP BY data DESC';
$date = @mysql_query($sql);
if (!
$date) {
    exit (
'

Non sono riuscito ad ottenere l\'elenco di date disponibili dal database. Contattare l\'amministratore.</p>'
);
}

if (isset (
$_GET['datainizio']) and isset ($_GET['datafine'])):
    
?>

<?php else: ?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
    

Dal:
        <select name="datainizio" size="1">
            <?php
            
while ($datainizio mysql_fetch_array($date)) {
                
$dvaloreinizio $datainizio['data'];
                echo 
"<option value='$dvaloreinizio'>$dvaloreinizio</option>\n";
            }
            
?>
        </select> Al:
       <select name="datafine" size="1">
            <?php
            
while ($datafine mysql_fetch_array($date)) {
                
$dvalorefine $datafine['data'];
                echo 
"<option value='$dvalorefine'>$dvalorefine</option>\n";
            }
            
?>
        </select> 
        <input type="submit" value="Ricerca" />
    </p>
</form>

<?php
endif;
?>
Il problema è che nel primo menu ("datainizio") le date sono visualizzare correttamente, il secondo menu ("datafine") invece risulta vuoto. Se invece faccio un'altra connessione al database e un'altra volta la stessa query il tutto funziona alla perfezione. Qualcuno saprebbe spiegarmi come mai il mio codice non va?

Grazie mille