· 6 years ago · Apr 27, 2019, 05:32 AM
1<?php
2
3function renderRow($row) {
4 echo "<tr>";
5 array_walk($row, function($column) { echo "<td>$column</td>"; });
6 echo "</tr>";
7}
8
9// Variables.
10$table = 'test';
11
12// Create PDO connection.
13try {
14 /** @var PDO $db */
15 ($db = new PDO('mysql:dbname=magento;host=db', 'root', 'root', []))
16 ->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
17} catch (PDOException $e) {
18 echo 'Failed to connect';
19}
20
21// Execute statement that create's table called table.
22// You shouldn't create a table via php. Don't include this section in your code.
23try {
24 $db->exec("CREATE table $table(ID INT(11) AUTO_INCREMENT PRIMARY KEY, Prename VARCHAR(50) NOT NULL, Name VARCHAR(250) NOT NULL, StreetA VARCHAR(150) NOT NULL, StreetB VARCHAR(150) NOT NULL, StreetC VARCHAR(150) NOT NULL, County VARCHAR(100) NOT NULL, Postcode VARCHAR(50) NOT NULL, Country VARCHAR(50) NOT NULL);");
25 echo("Created $table");
26} catch (PDOException $e) {
27 echo "Table already exists.";
28}
29
30// Insert some data.
31$db->exec("INSERT INTO `magento`.`test` (`Prename`, `Name`, `StreetA`, `StreetB`, `StreetC`, `County`, `Postcode`, `Country`) VALUES ('Mr', 'Ben Watson', 'University of Huddersfield', 'Huddersfield', 'Huddersfield', 'Yorkshire', 'HD11DH', 'United Kingdom')");
32$db->exec("INSERT INTO `magento`.`test` (`Prename`, `Name`, `StreetA`, `StreetB`, `StreetC`, `County`, `Postcode`, `Country`) VALUES ('Mr', 'Louis Jones', 'University of Huddersfield', 'Huddersfield', 'Huddersfield', 'Yorkshire', 'HD11DH', 'United Kingdom')");
33$db->exec("INSERT INTO `magento`.`test` (`Prename`, `Name`, `StreetA`, `StreetB`, `StreetC`, `County`, `Postcode`, `Country`) VALUES ('Mr', 'Corrie ', 'University of Huddersfield', 'Huddersfield', 'Huddersfield', 'Yorkshire', 'HD11DH', 'United Kingdom')");
34
35// Get data from database.
36$query = $db->query("SELECT * FROM magento.test");
37$query->setFetchMode(PDO::FETCH_ASSOC);
38
39// Print the results.
40$rowCount = 0;
41echo "<table>";
42while ($row = $query->fetch()) {
43 if ($rowCount === 0) {
44 renderRow(array_keys($row));
45 }
46
47 renderRow($row);
48
49 $rowCount++;
50}
51echo "</table>";