Query ORDER BY

Alex_70

Utente Attivo
13 Nov 2018
371
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:

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
18
Vicenza
Se ci sono solo 3 film come nell'immagine è normale che prenda anche quello del 2019, dato che prende gli ultimi 20
 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
18
Vicenza
Ti consiglio di testare la query direttamente nella sezione SQL di phpmyadmin così è più facile capire dove è l'errore
 

Alex_70

Utente Attivo
13 Nov 2018
371
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
371
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
371
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
371
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
614
58
28
18
Vicenza
Per selezionare i primi 4 caratteri della data di rilascio (quindi l'anno) puoi usare:
PHP:
$stringa=$fetch['release_data'];
$anno=substr($stringa,0,4);
 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
18
Vicenza
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
371
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
371
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:
 

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
18
Vicenza
Cioè intendi che se i film sono stati rilasciati più di 30 giorni fa devono essere di un altro colore?
 

Alex_70

Utente Attivo
13 Nov 2018
371
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
614
58
28
18
Vicenza
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
371
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'.
 
Discussioni simili
Autore Titolo Forum Risposte Data
gandalf1959 mysql query, sum(qualcosa), order by sum(qualcosa). E' possibile? PHP 14
gandalf1959 my sql query, ORDER BY su piu campi MySQL 2
F [RISOLTO]Sub query ORDER BY su 2 tabelle PHP 8
R passare una variabile in query per ORDER BY PHP 6
G AVVISO QUERY IN ESECUZIONE PHP 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
S Selezionare ultimo record di una sotto query MySQL 26
G Menù a tendina di ricerca con query PHP 1
V Query per una somma PHP 2
F stampare a video i risultati della query PHP 1
L problema con query select PHP 2
D Query sum Database 1
A form PHP prenotazione tramite query PHP 2
R Problema query con ricerca id numerico PHP 2
G Casella combinata in una query MS Access 4
R Aiuto con le query MS Access 2
Y query di DELETE PHP 4
V Query Oracle Oracle 0
L query somma PHP 8
W Query SQL Classic ASP 2
M Problemi con query a più tabelle PHP 3
Alex_70 Conteggio nella query PHP 0
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
A nome file che contiene punto passato come parametro a query PHP 31
F query e form con select multipla PHP 17
M Problema su query JOIN in tre tabelle PHP 0
M Ordinare una query join PHP 2
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
Alex_70 foreach explode query PHP 3
O query con date in formato stringa PHP 3
Tommy03 Unione query di 4 tabelle MySQL 1
Alex_70 Query group actor e film PHP 26
TpD Incolonnare risultati query (mysql_result deprecato...) PHP 3
Tommy03 Query tra 3 tabelle MySQL 2
P Query di ricerca profonda MySQL 0
T Query per ricerca ritardo evento MS Access 7
max1974 2 query not work MySQL 3
M Ottimizzazione Query PHP 8
strambotto Query di aggiornamento MS Access 0
I Aiuto query MySQL 8
J [PHP] Visualizzare risultato query stessa pagina PHP 3
S [PHP] non prende la query PHP 0
D [PHP] Query che aggiorna tabella PHP 4
A [PHP] Problema query insert [RISOLTO] PHP 14
M [PHP] Ottimizzazione query PHP 13
S [PHP] la query fallisce PHP 2
Alex_70 actor film query per php PHP 1
Tommy03 [PHP] Media valori presi da una query PHP 3
Punix [PHP] query non valida PHP 1

Discussioni simili