Query di ricerca problema campo data italiano

elpirata

Utente Attivo
18 Mar 2009
257
7
18
Ciao raga,
ho una form che si occupa di ricercare ed estrarre i campi presenti nel database, il mio problema è l'implementazione del codice per la ricerca della data, allo stato attuale se effettuo la ricerca inserendo la data nel formato americano, i dati vengono correttamente estratti, quello che non riesco a fare è la ricerca della data nel formato italiano.

Questo è il codice

PHP:
<?php

// INCLUDO IL FILE PER LA CONNESSIONE AL DATABASE
include ("conn.php");

if (trim($_POST['cliente']) == '' && trim($_POST['targa']) == '' && trim($_POST['data']) == '')
{
    //REINDIRIZZO L'UTENTE AL MESSAGGIO DI ERRORE ATTENZIONE COMPILA ALMENO UN CAMPO 
	
	echo "ATTENZIONE NON HAI INSERITO NESSUN VALORE DI RICERCA <a href=\"RicercaCommessa.php\"></br>Torna alla ricerca</a></br></br>";
}

else

{

$cliente = $_POST['cliente'];
$targa = $_POST['targa'];
$data = $_POST['data'];

$query = "SELECT * , DATE_FORMAT(Commesse.data,'%d/%m/%Y') as data_it FROM Commesse WHERE 1";


if (!empty($cliente)) {
    $query .= " AND `cliente` LIKE '%$cliente%'";
}
if (!empty($targa)) {
    $query .= " AND `targa` LIKE '%$targa%'";
}

if (!empty($data)) {
    $query .= " AND `data` = '$data'";
}
}

// ESEGUO LA QUERY
$cerca = mysql_query($query);

// STAMPO LA QUERY PER IL DEBUG
echo $query;

echo "
	<table>
	<tr><th colspan='3'>Risultati Ricerca</tr>
	<tr><th>Id<th>Targa<th>Cliente<th>Vettura<th>Data Intervento<th>Visualizza<th>Modifica<th>Stampa<th>Elimina</tr>
";

// NEL CICLO WHILE PER LA DATA STAMPO LA RIGA [57] E NON LA [56], LA [57] VIENE CREATA DALLA QUERY , DATE_FORMAT(Commesse.data,'%d/%m/%Y') as data_it

while ($riga = mysql_fetch_row($cerca)){
	echo "<tr><td>$riga[0]<td>$riga[2]<td>$riga[5]<td>$riga[1]<td>$riga[57]</td><td><a href=\"visualizza.php?id=$riga[0]\">Visualizza</a></td><td><a href=\"modifica.php?id=$riga[0]\">Modifica</a></td><td><a href=\"pstampa.php?id=$riga[0]\">Stampa</a></td><td><a href=\"elimina.php?id=$riga[0]\">Elimina</a></td></tr>";
}

echo "</table>";

// E chiudiamo la connessione a MySQL
mysql_close();

?>
 

marino51

Utente Attivo
28 Feb 2013
2.912
162
63
Lombardia
quello che non riesco a fare è la ricerca della data nel formato italiano.
01/04/2014 può essere un pesce d'aprile se il tuo db la interpreta come 4 gennaio 2014

nelle insert, update e nelle clausole "where",
utilizza le date sempre nel formato aaaa/mm/gg, il db le interpreta bene ed anche per te non ci sono problemi se devi utilizzare "maggiore di" o "minore di"
nelle select puoi mettere la conversione per fartele tornare nel formato che vuoi
ciao
Marino