Io ho scritto:
if(is_null($campo) || $campo == '' || $campo == '0000-00-00' || $campo
== NULL )
{
$stringa = '';
}
else
{
$stringa = '<div style="'.$styleDiv.'">'.$descrizione.': '.$campo.'</div>';
}
Questo non solo mi mostra sempre il div, ma me lo riempie con una data
che è sempre pari a 30 novembre 1999.
Vi chiedo: come mai un campo data vuoto (che so per certo essere vuoto)
mi viene interpretato invece come un campo valorizzato e con data 30
novembre 1999?
Voi come controllate i campi date?
Grazie a tutti per tirate d'orecchio che vorrete farmi :)
Franz
hai fatto un var_dump($campo)?
che viene fuori?
solitamente i campi data 'vuoti' puntano al 1 gennaio 1970, il 30
novembre 99 non l'ho mai sentito
> hai fatto un var_dump($campo)?
> che viene fuori?
>
> solitamente i campi data 'vuoti' puntano al 1 gennaio 1970, il 30
> novembre 99 non l'ho mai sentito
l'ho fatto...viene fuori NULL.
Anch'io sapevo del 1.1.1970...ma a me continua a stampare a video
30 novembre 1999.
Non capisco...l'hosting è su Aruba...magari c'è qualcosa che non va con
le impostazioni di MySQL?
Oppure davvero si tratterà di una sciocchezza che però non riesco a vedere.
Grazie comunque per la risposta
Franz
> hai fatto un var_dump($campo)?
> che viene fuori?
>
> solitamente i campi data 'vuoti' puntano al 1 gennaio 1970, il 30
> novembre 99 non l'ho mai sentito
Allora...
se io faccio un var_dump direttamente sull'elemento dell'array di
mysql_fetch_assoc ottengo
var_dump($news['data_inizio']) --> Risultato: NULL
se invece nella funzione che ho costruito gli do il campo generico $campo
var_dump($campo) ---> Risultato: string(16) "30 novembre 1999"
Per inciso la banale funzione �:
function hideNullFields($descrizione,$campo, $styleDiv)
{
$stringa = '';
if(is_null($campo) || $campo == '' || $campo == '0000-00-00' || $campo
=== NULL)
{
$stringa = '';
}
else
{
$stringa = '<div style="'.$styleDiv.'">'.$descrizione.':
'.$campo.'</div>';
}
return $stringa;
}
Franz
> if(is_null($campo) || $campo == '' || $campo == '0000-00-00' || $campo
>=== NULL)
> {
> $stringa = '';
> }
Il codice è corretto, anche se io l'avrei scritto - per paranoia - come
if (is_null($campo)||(''==$campo)||('0000-00-00'==$campo))
{
$stringa = '';
}
...rimane da verificare il codice che chiama quella funzione.
Leonardo
--
Enough, enough! But, stranger, ere we part,
Glancing farewell to each nefarious bier,
This warning would I beg you take to heart:
There is an end to e'en the worst career!
> Il codice è corretto, anche se io l'avrei scritto - per paranoia - come
>
> if (is_null($campo)||(''==$campo)||('0000-00-00'==$campo))
> {
> $stringa = '';
> }
>
> ...rimane da verificare il codice che chiama quella funzione.
>
> Leonardo
>
Ecco la chiamata:
echo hideNullFields('Data fine bando',
formatDate($row_bandi['data_fine']),
'color:#419127;font-weight:bold;margin-bottom:10px;font-size:11px;display:block;')
Ti prego dimmi che ho scritto una cazzata, perchè davvero non capisco da
dove esca questa data.
Ovviamente la query al db è:
$query_bandi = "SELECT * FROM bandi WHERE bandi.attivo = 1";
Grazie mille
Franz
> Ecco la chiamata:
>
> echo hideNullFields('Data fine bando',
> formatDate($row_bandi['data_fine']),
> 'color:#419127;font-weight:bold;margin-bottom:10px;font-size:11px;display:block;')
>
Lo sapevoooooooo!!!
Era una cretinata.
Il problema stava nella funzione formatDate all'interno della chiamata.
Non gli facevo controllare che fosse vuoto il campo prima di formattare
la data.
Meno male va...
:)
Franz
>> Ecco la chiamata:
>> echo hideNullFields('Data fine bando',
>> formatDate($row_bandi['data_fine']),
>> 'color:#419127;font-weight:bold;margin-bottom:10px;font-size:11px;display:block;')
>Lo sapevoooooooo!!!
Avete assistito all'effetto "papera di gomma" (anche noto come "effetto
orsacchiotto") < http://c2.com/cgi/wiki?RubberDucking >
Leonardo quack quack
Lol io ho il pinguino gnu/linux (notare che cito anche gnu o stallman
mi uccide) in cartoncino, va bene uguale?
> Avete assistito all'effetto "papera di gomma" (anche noto come "effetto
> orsacchiotto")< http://c2.com/cgi/wiki?RubberDucking>
>
> Leonardo quack quack
>
:( :(
quack!
:(
Franz
>> Leonardo quack quack
>:( :(
>quack!
>:(
Veramente la papera di gomma in questo caso ero stato io :-)
Leonardo