<html> <head> <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> <script src="https://cdn.datatables.net/1.10.11/js/jquery.dataTables.min.js"> </script> <link href="https://cdn.datatables.net/1.10.11/css/jquery.dataTables.min.css" type="text/css" rel="stylesheet" /> </head> <script> $(document).ready(function() { $('#countrytable').DataTable(); } ); </script> <?php $dbh = mysqli_connect("127.0.0.1", "world", "world", "world"); if (!$dbh) { echo "Error: Unable to connect to MySQL." . PHP_EOL; echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL; echo "Debugging error: " . mysqli_connect_error() . PHP_EOL; exit; } $result = $dbh->query( 'select Name, Population, SurfaceArea from country order by Population desc' ); $rows = $result->fetch_all(MYSQLI_ASSOC); echo format_html_table($rows, 'countrytable'); function format_html_table ($rows, $tableid) { $html = ""; $thead = "<table id='$tableid' class='display' cellspacing='0' \ >\n<thead>\n<tr>\n"; $html .= "\n<tbody>\n<tr>\n"; foreach ($rows as $rownum => $row ) { foreach ($row as $colname => $colvalue) { if ($rownum == 0) { $thead .= sprintf(" <th>%s</th>\n", $colname); } $html .= sprintf(" <td>%s</td>\n", $colvalue); } $html .= "</tr>\n"; } $html = $thead ."</tr>\n</thead>". $html; $html .= "</tbody>\n</table>"; return $html; } ?>