Codice PHP:
<?
/**********************************
# Esempi di uso delle funzioni descritte nel documento.
# Piccoli esempi facilmente adattabili, e comunque
# valido come memo delle funzioni disponibili in MySQL.
# Non serve una tabella, solo la connessione attiva a MySQL
*************************************/
$link = mysql_connect('localhost','root',''); # <----- metti qui i tuoi dati
Function Esegui($action,$id) {
global $link;
$query = mysql_query($action,$link);
$result = mysql_result($query,0,'data');
echo "<pre>";
echo "$id => $action = [b]$result[/b]";
}
$action = ARRAY (1=>'SELECT NOW() AS DATA',
2=>'SELECT NOW() + 0 AS DATA',
3=>'SELECT CURRENT_TIMESTAMP + INTERVAL 2 MONTH AS DATA',
4=>'SELECT SYSDATE() - INTERVAL 1 MONTH AS DATA',
5=>'SELECT CURRENT_DATE() AS DATA',
6=>'SELECT CURDATE() + INTERVAL 1 YEAR AS DATA',
7=>'SELECT CURTIME() AS DATA',
8=>'SELECT CURRENT_TIME AS DATA',
9=>'SELECT DAYOFYEAR(CURDATE()) AS DATA',
10=>'SELECT DAYOFMONTH(NOW()) AS DATA',
11=>'SELECT DAYOFWEEK("2003-05-20") AS DATA',
12=>'SELECT WEEKDAY("2003-05-20") AS DATA',
13=>'SELECT YEAR(NOW()) AS DATA',
14=>'SELECT QUARTER("2003-05-20") AS DATA',
15=>'SELECT MONTH("2003-05-20") AS DATA',
16=>'SELECT WEEK("2000-01-02") AS DATA',
17=>'SELECT WEEK("2000-01-02","1") AS DATA',
18=>'SELECT YEARWEEK("2000-01-02") AS DATA',
19=>'SELECT YEARWEEK("2000-01-02","1") AS DATA',
20=>'SELECT MONTHNAME("2003-05-20") AS DATA',
21=>'SELECT DAYNAME("2003-05-20") AS DATA',
22=>'SELECT HOUR(NOW()) AS DATA',
23=>'SELECT MINUTE("12:23:00") AS DATA',
24=>'SELECT SECOND(CURTIME()) AS DATA',
25=>'SELECT TIME_TO_SEC("200:10:59") AS DATA',
26=>'SELECT SEC_TO_TIME("720659") AS DATA',
27=>'SELECT PERIOD_ADD("200211",2) AS DATA',
28=>'SELECT PERIOD_DIFF(200305,197807) AS DATA',
29=>'SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03") AS DATA',
30=>'SELECT EXTRACT(DAY_MINUTE FROM NOW()) AS DATA' ,
31=>'SELECT UNIX_TIMESTAMP() AS DATA',
32=>'SELECT UNIX_TIMESTAMP("2000-01-03 12:00:00") AS DATA',
33=>'SELECT FROM_UNIXTIME(946897200) AS DATA',
34=>'SELECT FROM_UNIXTIME(946897200) * 1 AS DATA',
35=>'SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),"%d %m %Y %h:%i:%s") AS DATA',
36=>'SELECT DATE_FORMAT(NOW(),"%d-%m-%Y") AS DATA',
37=>'SELECT TIME_FORMAT(CURTIME(),"%H:%I:%S") AS DATA',
38=>'SELECT DATE_FORMAT(CURDATE(),"%D-%M-%Y") AS DATA',
39=>'SELECT DATE_FORMAT(CURRENT_TIMESTAMP(),"%d-%m-%y %H:%i:%s") AS DATA',
40=>'SELECT DATE_FORMAT(INTERVAL 1 MONTH + NOW(),"%d-%m-%Y %H:%i:%s") AS DATA',
41=>'SELECT DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 MONTH),"%d-%m-%Y %H:%i:%s") AS DATA',
42=>'SELECT EXTRACT(YEAR_MONTH FROM CURDATE())AS DATA',
43=>'SELECT DATE_ADD(NOW(),INTERVAL 1 MONTH) AS DATA',
44=>'SELECT DATE_ADD("2000-01-01",INTERVAL "2 1 30" DAY_MINUTE) AS DATA',
45=>'SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW()- INTERVAL 1000 DAY)),"%d-%m-%Y") AS DATA',
46=>'SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW()+ INTERVAL 1000 DAY)),"%d-%m-%Y") AS DATA',
47=>'SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 MONTH),"%d-%m-%Y %H:%i:%s") AS DATA');
echo "
[b][i]Vediamo le varie risposte alle nostre query:[/i][/b]
";
foreach ($action as $id => $value){
Esegui($value, $id);
}
?>
Esempio di utilizzo di alcune piccole funzioni:
Codice PHP:
<?
/**********************************
# Alcuni esempi di piccole funzioni per adattare la data al formato
# italiano. Piccoli esempi facilmente adattabili utilizzando magari
# il mixer delle funzioni PHP e Mysql per ottimizzare le
# prestazioni......
*************************************/
# Definiamo un array con associato il numero del giorno come estratto dalla funz DAYOFWEEK()
$giorni=array(1=>'Domenica',2=>'Lunedì',3=>'Martedì',4=>'Mercoledì',
5=>'Giovedì',6=>'Venerdì',7=>'Sabato');
# vediamolo
echo '
[b][i]Vediamo il contenuto dell\'array [/i]$giorni[/b]
';
echo "<pre>";
foreach ($giorni as $id => $value){
echo "Chiave = $id; Valore = [b]$value[/b]
";
}
# definiamo anche i mesi mentre ci siamo come estratti dalla funz. MONTH()
$mesi=array(1=>'Gennaio',2=>'Febbraio',3=>'Marzo',4=>'Aprile',5=>'Maggio',
6=>'Giugno',7=>'Luglio',8=>'Agosto',9=>'Settembre',10=>'Ottobre',11=>'Novembre',12=>'Dicembre');
echo '</pre>
[b][i]Vediamo ora il contenuto dell\'array [/i]$mesi[/b]
<pre>';
foreach ($mesi as $id => $value){
echo "Chiave = $id; Valore = [b]$value[/b]
";}
echo "</pre>";
# data odierna nel formato gg-mm-aaaa
Function DataOggi() {
global $link, $today;
$query = mysql_query("select date_format(now(),'%d-%m-%Y') as data");
return $today = mysql_result($query,0,'data');
}
# data odierna estesa es: Lunedì gg Mese aaaa
Function DataEstesa() {
global $giorni, $mesi, $link, $today;
$action = "select year(now()) as anno, month(now())as mese, ";
$action .="dayofweek(now()) as day, date_format(now(),'%d') as giorno";
$query = mysql_query($action,$link);
$anno = mysql_result($query,0,'anno');
$mese = mysql_result($query,0,'mese');
$giorno = mysql_result($query,0,'giorno');
$day = mysql_result($query,0,'day');
return $today = $giorni[$day]." ".$giorno." ".$mesi[$mese]." ".$anno;
}
# Nome del giorno odierno
Function NomeOggi() {
global $oggi, $giorni;
$query1 = mysql_query("select dayofweek(now()) as day");
return $oggi = $giorni[mysql_result($query1,0,'day')];
}
# nome del giorno di domani
Function NomeDomani() {
global $domani, $giorni;
$query = mysql_query("select dayofweek(date_add(now(), interval 1 day)) as day");
return $domani = $giorni[mysql_result($query,0,'day')];
}
# stampare una data di scadenza
$period= 6; # valore INT
$val= "day"; # puo' essere: year-month-day-hour-minute-second
Function Scadenza() {
global $scadenza, $period, $val;
$query = mysql_query("select date_format(date_add(now(),interval $period $val),'%d-%m-%Y') as scade");
return $scadenza = mysql_result($query,0,'scade');
}
# calcolare quanti giorni intercorrono tra la data di oggi e altra data.
# Numero giorni negativo per le date future
$data = "2000-01-01"; # metti la data da comparare in formato yyyy-mm-dd
$data1 = "01-01-2000"; # metti la data da stampare nella visualizzazione in frm. italiano
Function QuantiGiorni() {
global $data, $total;
$query = mysql_query("select to_days(NOW())-to_days('$data') as tot ");
return $total = mysql_result($query,0,'tot');
}
# Conoscere una data futura dato uno spiazzamento di tempo da oggi (tipo=gg mm aa).
# I tipi possono essere DAY - MONTH - YEAR - YEAR_MONTH.
$interval = "INTERVAL '5 6' YEAR_MONTH"; #qui metti il valore.(5 anni 6 mesi YEAR_MONTH)
Function QualeData() {
global $interval, $giorni, $next;
$query = mysql_query("SELECT NOW()+ $interval as tot");
$tot = mysql_result($query,0,'tot');
$query1 = mysql_query("select date_format('$tot','%d-%m-%Y') as data,dayofweek('$tot') as day ");
$day = $giorni[mysql_result($query1,0,'day')];
$data = mysql_result($query1,0,'data');
return $next = $day." ".$data;
}
echo "
[b][i]Esempio di uso delle funzioni descritte del presente script:[/i][/b]
";
echo "
[b]Funz. DataOggi()[/b] - Oggi, [i]".DataOggi().",[/i] nella nostra citta' bla bla ...";
echo "
[b]Funz. DataEstesa()[/b] - Oggi, [i]".DataEstesa().",[/i] nella nostra citta' bla bla ...";
echo "
[b]Funz. NomeOggi()[/b] - Oggi e' [i]".NomeOggi()."[/i]";
echo "
[b]Funz. NomeDomani()[/b] - Hai tempo fino a domani, [i]".NomeDomani()."[/i]";
echo "
[b]Funz. Scadenza() [/b] - Ricorda che l'offerta scadra' fra ";
echo "$period giorni, cioe'il [i]".Scadenza()."[/i]
";
echo "
[b]Funz. QuantiGiorni()[/b] - Tra il $data1 ad oggi sono passati[i] ".QuantiGiorni()."[/i] giorni.
";
echo "
[b]Funz. QualeData()[/b] - Tra 5 anni e 6 mesi sara' [i] ".QualeData()."[/i].
";
Mysql_close($link);
?>