Con la concatenazione dei campi funziona.
Grazie.
Ora il problema è nella query di estrazione.
Gli utenti dovranno inserire determinati criteri di selezione tramite un form.
Mi spiego meglio:
per quanto riguarda le date, nel DB ho due campi:
uno è "data_inserimento " che se lo calcola da solo, il tipo del campo è il seguente:
Codice PHP:
data_inserimento` timestamp NULL default CURRENT_TIMESTAMP, ( e funziona)
l'altro campo e: "scadenza ", che , con il sistema indicatomi in questo topic funziona. Il tipo di campo è il seguente:
Codice PHP:
`scadenza` timestamp NOT NULL default '0000-00-00 00:00:00',
quindi, per quanto riguarda il form di richiesta ho inserito questi campi:
codice del form: (html)
Codice PHP:
<form method="post" action="risultato.php">
[U]data_inserimento[/U] : dal
<select name="[B]inserimento_da_giorno[/B] ">
<?
for ($i=1; $i<=31; $i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
<select name="inserimento_da_mese">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
<select name="inserimento_da_anno">
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>
al
<select name="[B]inserimento_a_giorno[/B] ">
<?
for ($i=1; $i<=31; $i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
<select name="inserimento_a_mese">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
<select name="inserimento_a_anno">
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>
[U]Scadenza[/U] : dal
<select name="[B]scadenza_da_giorno[/B] ">
<?
for ($i=1; $i<=31; $i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
<select name="scadenza_da_mese">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
<select name="scadenza_da_anno">
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>
al
<select name="[B]scadenza_a_giorno[/B] ">
<?
for ($i=1; $i<=31; $i++)
echo "<option value=\"$i\">$i</option>";
?>
</select>
<select name="scadenza_da_mese">
<option value="1">Gennaio</option>
<option value="2">Febbraio</option>
<option value="3">Marzo</option>
<option value="4">Aprile</option>
<option value="5">Maggio</option>
<option value="6">Giugno</option>
<option value="7">Luglio</option>
<option value="8">Agosto</option>
<option value="9">Settembre</option>
<option value="10">Ottobre</option>
<option value="11">Novembre</option>
<option value="12">Dicembre</option>
</select>
<select name="scadenza_da_anno">
<option value="2009">2009</option>
<option value="2010">2010</option>
</select>
dopodichè, stesso procedimento usato per il form di inserimento.
dichiaro le variabili nel file di action:
Codice PHP:
$inserimento_da_giorno=$_REQUEST['inserimento_da_giorno'];
$inserimento_da_mese=$_REQUEST['inserimento_da_mese'];
$inserimento_da_anno=$_REQUEST['inserimento_da_anno'];
$inserimento_a_giorno=$_REQUEST['inserimento_a_giorno'];
$inserimento_a_mese=$_REQUEST['inserimento_a_mese'];
$inserimento_a_anno=$_REQUEST['inserimento_a_anno'];
$scadenza_da_giorno=$_REQUEST['scadenza_da_giorno'];
$scadenza_da_mese=$_REQUEST['scadenza_da_mese'];
$scadenza_da_anno=$_REQUEST['scadenza_da_anno'];
$scadenza_a_giorno=$_REQUEST['scadenza_a_giorno'];
$scadenza_a_mese=$_REQUEST['scadenza_a_mese'];
$scadenza_a_anno=$_REQUEST['scadenza_a_anno'];
e poi (e qui viene il bello) creo le variabili delle date:
allora, ho provato in due modi:
primo sistema
Codice PHP:
$data_inserimento_da = $inserimento_da_anno.'-'.$inserimento_da_mese.'-'.$inserimento_da_giorno;
$data_inserimento_a = $inserimento_a_anno.'-'.$inserimento_a_mese.'-'.$inserimento_a_giorno;
$scadenza_da = $scadenza_da_anno.'-'.$scadenza_da_mese.'-'.$scadenza_da_giorno;
$scadenza_a = $scadenza_a_anno.'-'.$scadenza_a_mese.'-'.$scadenza_a_giorno;
secondo sistema:
Codice PHP:
$data_inserimento_da = mktime(0,0,0,$inserimento_da_mese,$inserimento_da_giorno,$inserimento_da_anno);
$data_inserimento_a = mktime(0,0,0,$inserimento_a_mese,$inserimento_a_giorno,$inserimento_a_anno);
$scadenza_da = mktime(0,0,0,$scadenza_da_mese,$scadenza_da_giorno,$scadenza_da_anno);
$scadenza_a = mktime(0,0,0,$scadenza_a_mese,$scadenza_a_giorno,$scadenza_a_anno);
e poi infine inserisco la query di ricerca
Codice PHP:
$query = "SELECT * FROM informagare WHERE _inserimento >= $data_inserimento_da AND data_inserimento <= $data_inserimento_a AND scadenza >= $scadenza_da AND scadenza <= $scadenza_a ORDER BY scadenza DESC LIMIT 0,20";
allora, in tutte e due i casi non funziona , effettua la query ma non restituisce nessun record. Premetto che , se effettuo la query senza i criteri delle date, tutto funziona correttamente.
Penso che il problema sia nella creazione delle variabili delle date ( infatti ho provato in due modi) e forse anche nel tipo dei campi del DB (sono timestamp), in ogni caso non riesco a giungere ad una soluzione.
Spero di non essere stato troppo lungo o confusionario.
Se mi aiutate, ve ne sarei davvero grato, io intanto continuo a studiare il problema e a provare.
a dopo e grazie.
Giuseppe