- Home
- Categorie
- Coding e Sistemistica
- PHP
- query sbagliata
-
query sbagliata
Salve, spero tanto che qualcuno riesca a darmi una mano
Allora, ho un calendario dinamico in php e in una pagina dovrei recuperare i dati relativi ad un certo giorno.
Fin qui tutto ok.
Supponendo che possano essercene molti, ho inserito un box di ricerca.. e qui nascono i problemi.
Anche se alla query passo la variabile del giorno selezionato, il risultato è sempre e solo giovedì 01 gennaio 1970 !
Posto il codice della pagina in cui vedo regolarmente i risultati del giorno ma in cui non funziona la ricerca..[php]
<?
setlocale(LC_TIME, 'it_IT');
$oggi=strftime('%A %d %B %Y', $ts);?>
<b> <? echo $oggi?></b><BR />
<?
mysql_connect("localhost","user","pass")
or die("Unable to connect to SQL server");
mysql_select_db("db") or die("Unable to select database");
$word="";
if($_POST['word']) {
$word=$_POST[ 'word'];
$queryc="SELECT * FROM reperibilita WHERE (cognome like '$word%' OR nome like '$word%' OR luogo like '$word%' OR CONCAT(nome,' ', cognome) like '$word%') AND giorno='$oggi' ORDER BY ora_inizio ASC " ;} else{$queryc="SELECT * FROM reperibilita WHERE giorno='$oggi' ORDER BY ora_inizio ASC " ;
}$userlist=mysql_query($queryc ) or die("Select Failed - reperibilita");
?>
[/php]La seconda parte della query ( l'else) funziona per cui non riesco a capire quell'errore sulla data
Spero che ci capiate qualcosa
Grazie in anticipo
-
Ci darò un'occhiata dopo cena Intanto però perchè hai messo
[php]
$word="";
[/php]visto che subito dopo la sovrascrivi con
[php]
if($_POST['word']) {
$word=$_POST[ 'word'];
[/php]ti consiglierei qualcosa tipo
[php]
if($_POST['word']) {
$word=$_POST[ 'word'];
}
//altro codice
else
{
die("Dato mancante!");
}
[/php]
-
Avevo settato word= "" perchè il value del campo input di ricerca all'inizio deve essere vuoto, e non "cerca" che è quello che appare all'utente..
Posso fare come consigli tu comunque..
Spero che la tua cena ti abbia ispirato la soluzione
Intanto grazie per la risposta.. attendo fiduciosa
-
Per quanto riguarda la data ti consiglierei di usare una stringa numerica dando il timestamp della data attuale in modo che il confronto tra i campi sia nettamente diverso da come c'è l'hai adesso.
Prova e fammi sapere
CIAO
-
@mikslap said:
Per quanto riguarda la data ti consiglierei di usare una stringa numerica dando il timestamp della data attuale in modo che il confronto tra i campi sia nettamente diverso da come c'è l'hai adesso.
Prova e fammi sapere
CIAOun esempio? non è che me la cavi tanto bene ( si sarà notato..)
-
Ciao,
il campo 'giorno' nel database è di tipo DATE o DATETIME?In tal caso la formattazione della data che inserisci nella query con la variabile "oggi" ( %A %d %B %Y ) non è conforme alla formattazione che ha sul database che è:
%Y-%m-%d (per il dato di tipo DATE)
%Y-%m-%d %H:%M:%S (per il dato di tipo DATETIME)
-
@Magicale said:
Ciao,
il campo 'giorno' nel database è di tipo DATE o DATETIME?In tal caso la formattazione della data che inserisci nella query con la variabile "oggi" ( %A %d %B %Y ) non è conforme alla formattazione che ha sul database che è:
%Y-%m-%d (per il dato di tipo DATE)
%Y-%m-%d %H:%M:%S (per il dato di tipo DATETIME)Avevo provato datetime ma non so come formattare la data in 'stile' italiano
PD ( anche cambiando la formattazione della data continua comunque a trovare solo il 1 gennaio 1970 )
Adesso ho messo varchar(255) e funziona tranne che nel maledetto modulo di ricerca