mysql

Mattepuffo's logo
Differenza date in PHP

Differenza date in PHP

EDIT in fondo

La gestione del tempo è sempre abbastanza problematica, in qualsiasi linguaggio.

Oggi vediamo un semplice modo per contare la differenza tra due date.

Prima di tutto dovete impostare l'orario nello stesso formato.

Quindi se gli orari li prendete da db controllate in che modo vengono salvati.

Nel caso specifico dobbiamo vedere se una data salvata nel db è anteriore a oggi.

Nel database la data è in formato DATE, e quindi non tiene conto dell'ora.

Inoltre è salvata nel formato Anno-Mese-Giorno.

Quindi prima di tutto ci calcoliamo la data di oggi:

$dateToday = date('Y-m-d');

mantenendo il formato uguale a quello del db.

Mattepuffo's logo
Recuperare l'ulitmo id con PDO

Recuperare l'ulitmo id con PDO

Lo scenario è questo.

Inserisco i dati in una tabella e subito dopo devo fare un inserimento in un'altra tabella collegata alla prima.

Per fare questo mi serve ovviamente l'id (inteso come campo di raccordo tra le tue tabelle) in modo da passarlo alla seconda tabella.

Per fare questo PDO ci mette a disposizione la funzione lastInsertId().

Quindi, supponendo di aver creato una classe per la connessione, possiamo iniziare da questo:

$objConn = Connessione::getInstance();

$lastRist = $objAdminConn->addSomething($par1, $par2, $par3);

$objAdminConn->addSomething2($par1, $par2, $lastRist);

Alla prima riga istanziamo la classe (che è Singleton, ma non cambia).

Mattepuffo's logo
Usare jQuery UI Autocomplete con PHP e MySQL

Usare jQuery UI Autocomplete con PHP e MySQL

L'ultima versione di jQuery ci mette a disposizione l'autocomplete.

In pratica in una casella di testo possiamo ottenere l'autocompletamento della ricerca, tipo Google per intenderci.

Metterlo in pratica è molto facile.

Per capire il funzionamento base guardate l'esempio sulla pagina ufficiale.

Noi passeremo direttamente a caricare i risultati prendendoli da PHP e MySQL.

Come al solito per prima cosa carichiamo il necessario:

<link type="text/css" rel="stylesheet" href="template/css/smoothness/jquery-ui-1.8.19.custom.css" media="screen" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script type="text/javascript" src="lib/jquery-ui-1.8.19.custom.min.js"></script>

Nel mio caso sto usando il tema Smoothness.

E' indispensabile avere le ultime versioni sia di jQuery che di jQuery UI.

Poi passiamo alla parte PHP/MySQL.

Create una pagina che dovrà eseguire una query e trasformare l'output in JSON.

Io ho usato PDO:

$dbhost = 'YOUR_SERVER';

$dbuser = 'YOUR_USERNAME';

$dbpass = 'YOUR_PASSWORD';

$dbname = 'YOUR_DATABASE_NAME';

try {

  $conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);

} catch(PDOException $e) {

  echo $e->getMessage();

}

$cmd = 'SELECT * FROM articoli WHERE articolo_codice LIKE :term GROUP BY articolo_codice ORDER BY articolo_codice';

$term = "%" . $_GET['term'] . "%";

$result = $conn->prepare($cmd);
$result->bindValue(":term", $term);
$result->execute();
$arrayArticoli = array();
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
  $rowArray['label'] = $row['articolo_codice'];
  $rowArray['value'] = $row['articolo_codice'];
  array_push($arrayArticoli, $rowArray);
}
$conn = NULL;
echo json_encode($arrayArticoli);

Ho usato PDO perchè mi piace di più, ma potete usare quello che volete.

Mattepuffo's logo
PHP JSON encode dati da MySQL

PHP JSON encode dati da MySQL

Il titolo non è dei migliori ma rende l'idea.

Quello che vogliamo ottenere è la codifica in formato JSON dei dati provenienti da un db MySQL.

Del perchè in JSON posso rispondere che i motivi sono i più vari.

Ad oggi JSON è usato quasi quanto il formato XML per rappresentare i dati, ed è usato in motli servizi web.

Inoltre le App mobile ne fanno gran uso.

Comunque, come praticamente sempre, con PHP è molto semplice.

Eseguiremo una query usando l'estensione mysqli.

La query viene salvata in un array e poi trasformata.

Per capire bene però sarebbe meglio che sapere che forma ha il JSON.

Potete anche guardare qua.

Mattepuffo's logo
Prepared Statement con MySQLi

Prepared Statement con MySQLi

Anche se in genere uso PDO per connettermi a MySQL con PHP, per piccoli script può non valerne la pena.

Ma al posto di usare le classiche funzionu mysql_ ho iniziato a usare il mysqli, che ad oggi è strettamente consigliato.

Vediamo qui come eseguire istruzioni preparate (Pepared Statement) per inserire da in un db MySQL attraverso l'estensione MySQLi.

Vi posto il form:

<form action="" method="post">
<label>Nome / Name:</label>
<input type="text" value="" name="nome" />
<label>Cognome / Surname:</label>
<input type="text" value="" name="cognome" />
<fieldset>
<legend>Sex:</legend>
<input type="radio" name="sex" value="m" />
<label>M</label>
<input type="radio" name="sex" value="f" checked="checked"  />
<label>F</label>
</fieldset>
<label>E-mail:</label>
<input type="text" value="" name="email" />
<label>Nazione / Country:</label>
<select name="nazione">
<option>Italy</option>
<option>UK</option>
</select>
<label>Lingua / Language:</label>
<select name="lingua">
<option>*</option>
<option>Italiano</option>
<option>English</option>
</select>
<fieldset>
<legend>Privacy:</legend>
<input type="checkbox" name="privacy" />
<label>Agree</label>
</fieldset>
<fieldset>
<button type="submit" name="btn_send">Submit</button>
</fieldset>
</form>

Un normale form.

Mattepuffo's logo
Connettere Excel a MySQL

Connettere Excel a MySQL

Connettere Excel direttamente a un database (di qualsiasi tipo) può avere i suoi vantaggi:

  • possibilità di creare grafici
  • automatismi
  • macro
  • .....

Vediamo quindi come connettere Excel a MySQL; la versione che prendo iin considerazione è la 2007, ma per la 2003 è pressochè la stessa cosa.

Prima di tutto andiamo qua e scarichiamo il connettore a MySQL per ODBC.

Installiamo il driver e andiamo su Pannello di controllo -> Strumenti di amministrazione -> Origini dati (ODBC).