Quote Originariamente inviata da comas17 Visualizza il messaggio
Dovrai ovviamente modificare il form in modo che sia possibile inserire due date distinte; immaginiamo che tu poi le memorizzi in due variabili che si chiamano $data_inizio e $data_fine

La query sarà qualcosa del tipo "select.... where data >= $data_inizio and data <= $data_fine"

(leggiti anche il post di las riguardo l'uso di STR_TO_DATE per convertire le variabili $data_inizio e $data_fine nel formato appropriato)

Ciao grazie mille per il suggerimento. l'ho riscritta così, cercando di interpretare quello che mi hai scritto e i suggerimenti di ias. ma non funziona. vedi qualcosa di strano?

potresti cambiare le cose che non vanno e ripostarla? scusa ma altrimenti non capisco come cambiarla. grazie

<form action="cerca_acquistidata.php" method="get">
Data Inizio <input type="date" name="datainizio" size="10"> Data Fine<input type="date" name="datafine" size="10">
<?
$obj=new sast1com();
$obj->connessione();
$result = mysql_query("SELECT *
FROM acquisti
WHERE data <=
STR_TO_DATE('$datainizio','%d/%m/%Y')
AND data >=
STR_TO_DATE('$datafine','%d/%m/%Y')")
or die("Impossibile eseguire la query: ". mysql_error());
?>
</select> <input type="submit" value="Cerca">
</form>
<br>
<table width=95% class="tableborder1">
<tr>
<td class="sectionHeading1" width="10">ID</td>
<td class="sectionHeading1">Fornitore</td>
<td class="sectionHeading1">Data</td>
<td class="sectionHeading1">Totale</td>
<td class="sectionHeading1">Totale (iva inclusa)</td>
<td class="sectionHeading1" width="20">apri</td>
<td class="sectionHeading1" width="20">mod</td>
<td class="sectionHeading1" width="20">canc</td>
</tr>
<?
$q=$_GET['q'];
$obj->connessione();
if(strlen($q)>0){
$result = mysql_query("select acquisti.id,fornitore,data,totale,totaleiva,denomi nazione from acquisti,fornitori where acquisti.data >= $datainizio and data <= $datafine, order by acquisti.data desc");
while($array=mysql_fetch_array($result)){