Query ORDER BY

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
Buongiorno a tutti :)

ho questa query che mi visualizza i film per ordine di rilascio, order by DESC,

il campo si chiama release_data

il limite e' impostato a 20,

tramite un if visualizzo anche un'icona NEW, limite fissato per 30 giorni

per qualche strano motivo nella lista compare un film del 2019,

perche'? l'icona NEW non e' visibile, quindi lo sbaglio penso risieda nella query

release_data_test.png


la query

SQL:
<?php
// togliere LIMIT 10 se si desidera visualizzare tutti

    $query=mysqli_query($conn, "SELECT
        film_id,
        movie_title,
        year,
        release_data,
        cover_front
        FROM film ORDER BY release_data DESC  LIMIT 20") or die(mysqli_error());
        while($fetch=mysqli_fetch_array($query)){
?>
questo e' per visualizzare l'icona NEW

PHP:
<?php echo $fetch ['release_data'];


// visualizza l'icona new_icon per 7 day +7*86400, inq uesto caso +30*86400 per 30 giorni

if ( (strtotime($fetch['release_data'])+30*86400)>time() )
  echo '&nbsp; &nbsp;' . "<img src=\"new_icon.gif\" alt=\"new\" />";


?>
 
Ultima modifica:

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
non capisco, questo e' molto strano,

query su phpmyadmin limite 20 stesso risultato

con limite 3 compare ancora il 2019 in cima alla lista


release_data_test_2.png
 

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
ahhhhhhhhh :D la vecchiaia fa brutti scherzi,

il film ha release_year 2091-02-07

e non 2019-02-07

:p

mi ha fregato il campo year 2019
 

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
Tommy03
senza la query anche tu ci sei cascato :p

l'effetto ottico era veramente centrato
 
Ultima modifica:

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
dato che non mi sono accorto di questo stupido errore (mio)

per evitare altre sviste vorrei visualizzare la data in questo modo

da 2020-05-31

a

2020-05-31

solo l'anno 2020 con colore rosso e in grassetto

suggerimenti?
 

Tommy03

Utente Attivo
6 Giu 2018
362
40
28
16
Bassano del Grappa (VI)
Quindi ad esempio puoi fare:
PHP:
$stringa=$fetch['release_data'];
$anno=substr($stringa,0,4);
$resto=substr($stringa,4,6);
echo "<span style='color:red;'>$anno</span><span>$resto</span>";
 
  • Like
Reactions: Alex_70

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
funziona :) grazie Tommy03 ;)

ecco il codice compreso di icona

PHP:
<?php


// code color year by Tommy03

$stringa=$fetch['release_data'];
$anno=substr($stringa,0,4);
$resto=substr($stringa,4,6);
echo "<span style='color:red;'>$anno</span><span>$resto</span>";

// visualizza l'icona new_icon per 7 day +7*86400, in questo caso +30*86400 per 30 giorni

if ( (strtotime($fetch['release_data'])+30*86400)>time() )
  echo '&nbsp; &nbsp;' . "<img src=\"new_icon.gif\" alt=\"new\" />";

?>
 

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
un'altra cosa, ho impostato in strtotime i giorni a 30,

dopo tale periodo si puo' visualizzare un altro colore differente per la data? :rolleyes:
 

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
esatto, ma solo l'anno,
con possibilita' di modifica, come la stringa per l'icona, se decido un giorno di cambiare da 30 a 7 giorni o altro
 

Tommy03

Utente Attivo
6 Giu 2018
362
40
28
16
Bassano del Grappa (VI)
PHP:
$stringa=$fetch['release_data'];
$anno=substr($stringa,0,4);
$resto=substr($stringa,4,6);
if((strtotime($stringa)+30*86400) > time()){ //qui scegli il numero di giorni
$colore = "green";
}else{
$colore = "orange";
}
echo "<span style='color:$colore;'>$anno</span><span>$resto</span>";
 
  • Like
Reactions: Alex_70

Alex_70

Utente Attivo
13 Nov 2018
312
14
18
HELL
ottimo lavoro Tommy03 :), funziona

grazie ancora ;)

tu e' marino51 siete il meglio in questa sezione del forum , al contrario di chi si eleva in alto e invece dovrebbe abbassarsi e cercare di capire cos'e' l'umilta'.