grazie Juanin ma ho già rimediato scaricando la nuova versione con php7, il problema delle tabelle non cè più e per eseguire un file sql sono andato a "importa" ed è fatto (provato con tabella dei comuni italiani e ha funzionato).
osber
@osber
Post creati da osber
-
RE: phpMyAdmin e script di aggiornamento
-
phpMyAdmin e script di aggiornamento
Buongiorno a tutti, sto iniziando a lavorare in locale con phpmyadmin e tra altre cose mi chiede di aggiornare la tabella column_info. Eseguendo le indicazioni, se ho capito bene, dovrei eseguire lo script ./sql/upgrade_column_info_4_3_0+.sql. Il problema è che non so il commando e il path da scrivere per farlo. Ho letto anche che si può creare un file config.inc.php con istruzioni per rimediare la tabella column_info e altre configurazioni che che si mostrano non abilitate ($cfg['Servers']['central_columns'] ...;$cfg['Servers']['designer_settings'] ...;$cfg['Servers']['export_templates'] ... e $cfg['Servers']['favorite'] ...). In somma, non so come precedere, se qualcuno mi può aiutare lo ringrazio in anticipo.
-
RE: calcolo intervalo di tempo fra due date
Grazie per il suggerimento PietroR, ho visto la funzione intval() che ritorna la parte intera di un numero o di altro valore nella base indicata. Ho visto anche l'indicazione che non deve essere usata con oggetti (?), comunque ho provato e funziona, il codice è:
public function deltaDataUno(){
$this->a="$this->anno-$this->mese-$this->giorno";
$datetime1 = new DateTime($this->a);
$datetime2 = new DateTime('now');
$interval = $datetime1->diff($datetime2);
echo "differenza tra due date : " . $interval->format('%Y anni')."<br>";
$interval = (intval($interval->format('%Y'),$base=10));
if ($interval>=18){
echo 'la persona inscritta è maggiorenne, ';
}
else {
echo 'la persona inscritta e minorenne, ';
}
}
Se dove c'è la riga "$interval = (intval($interval->format('%Y'),$base=10));" facciamo il cast e diventa così :
"$interval = (int)$interval->format('%Y');" anche questo funziona e così evito di usare la funzione dove ci sono oggetti (dubbio che mi rimane).
Nel fratempo avevo fatto una altra funzione per capire se al momento della inscrizione l'utente è maggiorenne, è funziona anche questa:
private function controlloEta (){
$d="d";
$m="m";
$Y="Y";
$giorno_oggi= date($d);
$mese_oggi= date($m);
$anno_oggi= date($Y);
if(($anno_oggi-$this->anno_nascita)>=18&&($mese_oggi-$this->mese_nascita)>=0&&($giorno_oggi-$this->giorno_nascita)>=0){
$this->b=0;
echo 'la funzione controlloEta dà come risultato che la persona è maggiorenne';
}
else {
$this->b=1;
exit("fine iscrizione motivo : utente minorenne");
}
}
Grazie. -
calcolo intervalo di tempo fra due date
Buongiorno a tutti, stò cercando una funzione con la quale avere in ritorno la quantità di anni passati tra una data qualsiasi e la data di oggi. Avevo trovato di fare lo seguente:
public function deltaData() {
$this->a="$this->anno-$this->mese-$this->giorno";
$datetime1 = new DateTime($this->a);
$datetime2 = new DateTime('now');
$interval = $datetime1->diff($datetime2);
echo "differenza tra due date : " . $interval->format('%Y years')."<br>";
}
Questo funziona ma non è quelo che cerco, inserendo nel form la data di nascita, per es. "07-10-1957" mi stampa "differenza tra due date : 58 anni". Il problema è che il 58 non è integer e io voglio fare un if per sapere se la persona che completa la form ha 18 anni o più. Ringrazio in anticipo qualsiasi idea su come ottenere questo integer. -
primo post
Un saluto a tutti, sono autodidatta e ho iniziato a capire il php5 (mio primo linguaggio di programmazione e addiritura OOP). Ci saranno domande forse banali, spero che sia solo all'inizio.:)