ultima data

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
ciao,
questa volta sono io a chiedere un parere (non so se php o mysql, eventualmente spostate).
ho una tabella con i seguenti campi

id int(12) autoincrement primarikey
c_p varchar(2) not nul
file varchar(250) not nul //ho il nome di una pagina es. pagina_1.php
data int(15) not nul //la data deriva da data inserimento record data=time() per capirsi

ora dalla tabella per un dato c_p voglio estrarre il c_t ultimo inserito

dopo essermi arrovellato ben bene ho risolto in questa maniera


PHP:
//................
//$sigla viene da un $_post
$query_I=mysql_query("SELECT MAX(data) FROM tabella WHERE c_p='$sigla'");
$row=mysql_fetch_array($query_I); //estrae la data massima (ultima) per tra i record con c_p=$sigla
$maxD=$row[0];
//estraggo il nome della pagina ultima inserita per quel c_p
$query_I=mysql_query("SELECT file FROM tabella WHERE c_p='$sigla' and data='$maxD'");
$row=mysql_fetch_array($query_I);
$carica=$row[0];//mi serve in un link
//..................

ma, secondo me, deve esistere un sistema migliore con una query sola anche se mi sembra di affogare in un bicchier d'acqua
 
ciao
così sarebbe semplice con desc estraggo tutti i record con un certo c_p in ordine di data, ma io voglio estrarre solo l'ultimo con un dato c_p

comunque faccio una prova e se per caso funzia...:incazz2:
 
Scusa, ma continuo a non capire perché non puoi fare così:
Codice:
SELECT * FROM tabella WHERE dato='dato' ORDER BY data DESC LIMIT 1
Estrae dalla tabella tutti i record dove il campo dato è uguale a dato, quindi li ordina per data ed estrae solo l'ultimo.
 
ciao


stavo rispondendo a windtalk, quando ho visto il post di alex che (rari nantes) ha ragione. devo dire però che windtalk mi aveva illuminato

p....a miseria delle volte si annega proprio in un bicchier d'acqua ( e dire che preferisco :beer:)
 
ma del mio problema nell'effettuare l'esecuzione automatica di uno script in un dato giorno in tale ora, nessuno sa niente ? XD
 
Molto probabilmente me lo sono perso per strada in questi giorni perché non mi ricordo proprio di nessuna domanda del genere. Ma avevi postato in questa sezione? Comunque, visto che non mi va di cercare la discussione ti rispondo qui.

Ci sono due modi per eseguire uno script a un certo giorno, a una data ora. Il primo metodo, il più preciso, è di impostare lo script in cron (su sistemi UNIX) o in Esecuzione automatica (su Windows), ma devi avere accesso SSH al server. Il secondo invece viene usato per eseguire delle operazioni "dopo una data scadenza" e non c'è bisogno di avere accesso al server. Praticamente è quello che uso io per far scadere le registrazioni degli utenti dopo 24 ore. Io segno nel database la data di registrazione dell'utente in formato UNIX. Poi, quando qualcuno accede al sito, eseguo questa operazione: cancello dal database tutti gli utenti la cui registrazione non è stata confermata e dove la differenza tra lo UNIX time attuale e quello di registrazione è maggiore di 24 * 60 * 60 (24 ore). Però non va bene per operazioni che devono essere eseguite anche se l'utente non accede alla pagina, come qualche operazione di manutenzione sul database o sul server. Decidi tu quale metodo fa al caso tuo!
 
ma devo creare un file a parte dove inserire i comandi.
Codice:
55 14 * * 4  php  --q  directory/cron.php
qua dice ad esempio che questa istruzione è contenuta nel file contab ma sto file che estensione deve avere ?
 
aaah ok, quindi deve essere anche modificato direttamente sul server ? senza l'utilizzo di nessun script php ? Nemmeno usando PHP-CLI ? E in pratica io sto crontab come lo faccio ad attivare ?
 
Ultima modifica:
Sinceramente non capisco come possa eseguire un cron sul server pur non avendo accesso ad esso. Ti consiglio di informarti prima di acquistare qualcosa di cui potresti pentirti, però non l'ho mai sentito, quindi non te ne posso parlare né bene né male ;)
 

Discussioni simili