sabato 4 giugno 2016

Sfogliare una tabella mysql con il php

Dopo aver appreso come fare una semplice connessione ad un db mysql, vediamo come sfogliare una tabella mysql con il php.

Con il php infatti, è possibile fare query sql per sfogliare un database mysql, vediamo come fare una semplice select e mostrare i risultati a video in una pagina web.

Innanzitutto apriamo la connessione al db:
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {die("Impossibile collegarsi a MySQL");}

Ora eseguiamo la query vera e propria:
$query="SELECT campo FROM tabella WHERE condizione ORDER BY campo";
$res = $mysqli->query($query) or die('Errore sql: '.$mysqli->error);
$trovati=$res->num_rows;
if($trovati>0)
{
    while ($row = $res->fetch_assoc())
    {
        $campo=trim($row['campo']);
        echo "$campo<br/>\n";
    }
}
else
{
    echo "Nessuna record presente\n";
}


Con queste semplici righe di codice abbiamo scritto la query da eseguire nella variabile $query, poi l'abbiamo eseguita, salvando il risultato in $res.
Abbiamo verificato se c'era qualche risultato tramite la funzione num_rows, ed in caso affermativo abbiamo sfogliato i risultati usando la funzione fetch_assoc dentro un ciclo while, stampando a video ogni singola riga della tabella, o meglio (in questo caso), solo il dato del db che abbiamo salvato nella variabile $campo.

Ovviamente alla fine, ricordiamoci di chiudere la connessione:
mysqli_close($mysqli);

Ma se il risultato da mostrare a video fosse solo uno?
Nei casi in cui il risultato da mostrare a video sia solo uno (tipo quando passiamo un id nella query sql), al posto che sfogliare tutto con un ciclo while, possiamo fare direttamente così:
$row = $res->fetch_assoc();
$campo=trim($row['campo']);

Ovvero salviamo i risultati della query direttamente dentro l'array $row senza creare un ciclo while.
Basta poco, che ce vò (cit.)

Piaciuto l'articolo? Lascia un commento!

EmoticonEmoticon