Det gamle MySQL-API er dybt forældet og forsvinder helt fra PHP i en af de næste versioner. Det er der ingen, der bruger mere - så det kan kun gå for langsomt med at få lært MySQLI. Virkede det ikke, da du kopierede
#4 ind i et dokument og testede?
Ja, der er masser, som er bedre. For det første hænger HTML-koden, som PHP-koden udskriver, heller ikke sammen i
#9.
Derudover er det altid en skidt idé at blande PHP-kode ind imellem sidens HTML-kode. De to bør holdes hver for sig. Derfor skriver man ikke HTML ud i løkker, men skriver i stedet til en buffer i form af en streng eller et array.
Du kan separere sprogene ved at skrive PHP-koden som en funktion før din doctype:
<?php
function getTableHtml() {
// OPRET FORBINDELSE TIL DATABASE
$con = mysqli_connect($db_localhost, $db_username, $db_password, $db_database);
if (!$con) {
die('Kunne ikke forbinde til database: ' . mysqli_error());
}
// FORETAG FORESPØRGSEL TIL DATABASE
$con_result = mysqli_query($con, "SELECT * FROM 'tabelnavn'");
if (!$con_result) {
die('Invalid query: ' . mysqli_error());
}
// OPRET ET ARRAY TIL HTML'EN
$html = array('<table>');
//OMDAN FORESPØRGSLEN TIL VARIABEL - her $get['tabelværdi']
WHILE ($get = mysqli_fetch_array($con_result, MYSQLI_ASSOC)) {
// HER SKABER DU TABELLENS INDHOLD
$html[] = '<tr>';
$html[] = '<td>'.$get['tabel_værdi'].'</td>';
$html[] = '</tr>';
} // HUSK AT LUKKE LØKKEN
// HUSK AT LUKKE TABELLEN
$html[] = '</table>';
// TØM RESULTATET
mysqli_free_result($con_result);
//AFSLUT MED AT LUKKE FORBINDELSEN TIL DATABASEN
mysqli_close($con);
// RETURNER TABELLEN PÅ STRENGFORM
return implode('', $html);
}
?>
- og så udskriver tabellen nede i HTML-koden ved at echo'e et kald til funktionen:
<div><?php echo getTableHtml() ?></div>