Questo codice stamperà il contenuto della tabella e aggiungerà una riga in più per ogni record nel database, formattando i dati così come vengono stampati.
Come visualizzare i dati di una tabella MySQL
Molto spesso è necessario utilizzare una tabella MySQL per memorizzare i dati al suo interno e quindi generare tali dati utilizzando uno script PHP. Per visualizzare i dati della tabella è meglio usare l’HTML, che dopo aver inserito alcuni dati nella pagina richiama uno script PHP che aggiornerà la tabella MySQL.
Per compilare una nuova tabella di database con i dati, sarà prima necessaria una pagina HTML che raccoglierà tali dati dall’utente. Il seguente codice HTML passa le informazioni a uno script PHP:
<form action="insert.php" method="post">
Value1: <input type="text" name = "field1" /><br/>
Value2: <input type="text" name = "field2" /><br/>
Value3: <input type="text" name = "field3" /><br/>
Value4: <input type="text" name = "field4" /><br/>
Value5: <input type="text" name = "field5" /><br/>
<input type="submit" />
</form>
Il codice HTML presentato sopra mostrerà 5 campi di testo dell’utente, in cui l’utente può inserire dati e un pulsante Submit. Facendo clic sul pulsante Submit, i dati inviati dall’utente verranno passati a uno script denominato insert.php.
Questo script può avere una sintassi simile alla seguente:
<?php
$username = "your_username";
$password = "your_pass";
$database = "your_db";
$mysqli = new mysqli("localhost", $username, $password, $database);
// Don't forget to properly escape your values before you send them to DB
// to prevent SQL injection attacks.
$field1 = $mysqli->real_escape_string($_POST['field1']);
$field2 = $mysqli->real_escape_string($_POST['field2']);
$field3 = $mysqli->real_escape_string($_POST['field3']);
$field4 = $mysqli->real_escape_string($_POST['field4']);
$field5 = $mysqli->real_escape_string($_POST['field5']);
$query = "INSERT INTO table_name (col1, col2, col3, col4, col5)
VALUES ('{$field1}','{$field2}','{$field3}','{$field4}','{$field5}')";
$mysqli->query($query);
$mysqli->close();
Dopo che l’utente ha inviato le informazioni, lo script insert.php le salverà nella tabella del database. Quindi potresti voler produrre quell’informazione, in modo che l’utente possa vederla sulla pagina. Il primo comando che dovrai usare è SELECT FROM MySQL che ha la seguente sintassi:
SELECT * FROM table_name;
Questa è una query di base MySQL che dirà allo script di selezionare tutti i record dalla tabella table_name. Dopo che la query è stata eseguita, in genere si vuole che il risultato venga archiviato all’interno di una variabile. Questo può essere fatto con il seguente codice PHP:
<?php
$query = $mysqli->query("SELECT * FROM table_name");
L’intero contenuto della tabella è ora incluso in un array PHP con il nome $result. Prima di poter produrre questi dati, è necessario modificare ciascun pezzo in una variabile separata. Ci sono due fasi.
Ora, dobbiamo impostare il loop. Prenderà ogni riga del risultato e stamperà i dati memorizzati lì. In questo modo visualizzeremo tutti i record nella tabella:
$query = "SELECT * FROM table_name";
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
$field1name = $row["col1"];
$field2name = $row["col2"];
$field3name = $row["col3"];
$field4name = $row["col4"];
$field5name = $row["col5"];
}
/* free result set */
$result->free();
}
Ora puoi scrivere uno script completo per generare i dati. In questo script i dati non vengono formattati quando vengono stampati:
<?php
$username = "username";
$password = "password";
$database = "your_database";
$mysqli = new mysqli("localhost", $username, $password, $database);
$query = "SELECT * FROM table_name";
echo "<b> <center>Database Output</center> </b> <br> <br>";
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
$field1name = $row["col1"];
$field2name = $row["col2"];
$field3name = $row["col3"];
$field4name = $row["col4"];
$field5name = $row["col5"];
echo '<b>'.$field1name.$field2name.'</b><br />';
echo $field5name.'<br />';
echo $field5name.'<br />';
echo $field5name;
}
/*freeresultset*/
$result->free();
}
Questo produce un elenco di tutti i valori memorizzati nel database. Ti darà un output basico che non è utile per un sito web online. Invece, sarebbe meglio se tu potessi formattarlo in una tabella e visualizzare le informazioni al suo interno. Per applicare la formattazione è necessario utilizzare l’HTML per stampare il risultato includendo le variabili negli spazi corretti. Il modo più semplice per farlo è chiudendo il tag PHP e inserendo normalmente l’HTML. Quando raggiungi una posizione variabile, includila come segue:
<?php echo $variablename; ?>
nella posizione corretta nel tuo codice.
Puoi anche usare il loop PHP per ripetere il codice appropriato e includerlo come parte di una tabella più grande. L’output finale è:
<html>
<body>
<?php
$username = "username";
$password = "password";
$database = "your_database";
$mysqli = new mysqli("localhost", $username, $password, $database);
$query = "SELECT * FROM table_name";
echo '<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td> <font face="Arial">Value1</font> </td>
<td> <font face="Arial">Value2</font> </td>
<td> <font face="Arial">Value3</font> </td>
<td> <font face="Arial">Value4</font> </td>
<td> <font face="Arial">Value5</font> </td>
</tr>';
if ($result = $mysqli->query($query)) {
while ($row = $result->fetch_assoc()) {
$field1name = $row["col1"];
$field2name = $row["col2"];
$field3name = $row["col3"];
$field4name = $row["col4"];
$field5name = $row["col5"];
echo '<tr>
<td>'.$field1name.'</td>
<td>'.$field2name.'</td>
<td>'.$field3name.'</td>
<td>'.$field4name.'</td>
<td>'.$field5name.'</td>
</tr>';
}
$result->free();
}
?>
</body>
</html>