sign in squirrelworks

PHP demos


Database Interaction:



I'll be reading out some table data from the sample db, Chinook.

Database diagram:


The populated sample tables are loaded into my database server, version:
10.11.11-MariaDB-cll-lve - MariaDB Server



Employee table
To set up organized output I generate an HTML table and it's first row, which contains headings.

Then PHP runs:
--Connects to the database. Runs the Select statement which I have stored in $query.
--Checks for error and for any actual change in the content of the variable i.e. whether it's still empty.

Then I exit PHP and continue the HTML tags for the resulting row(s). This is just a way of leveraging/preserving the syntax highlighting a bit more, by writing HTML outside of PHP tags; otherwise the HTML will need to be written as echo output, inside a string (see alternate code, in the next example)

So while I 'exit' php in the sense that I close the block with ?> before writing the table row html, the PHP program is still running because I have not closed out the block with a bracket.

Within each row, I enter into a 'new PHP thread' to get database query results stored in our php $result array. While that's ocurring, the larger PHP block is still 'open'; More specifically, its actually 1 nested 'while' statement and the 'if' statement that containts it that are open, thus the 2 closing brackets are needed at the end:

<?php
}
}
?>

Put differently.. Within each repetion of the loop, while the php row array still contains results, we are printing a new table row in html, and manually, then within each html row accessing the php row array contents and printing that in html. This acheives showing the output of the SQL query on the Employees table in the mySQL database.
<table>
<tr><th>ID</th><th>LastName</th><th>FirstName</th><th>Title</th><th>Email</th></tr>
<?php
$conn= createConnChinook();
$query = "Select EmployeeId, LastName, FirstName, Title, Email from Employee";


$result = mysqli_query($conn,$query);
if (!$result){
    die(mysqli_error($conn));
    }
if (mysqli_num_rows($result)>0){
    while ($row=mysqli_fetch_assoc($result)){
?>
        <tr>
            <td> <?php echo $row['EmployeeId']; ?> </td>
            <td> <?php echo $row['LastName']; ?> </td>
            <td> <?php echo $row['FirstName']; ?> </td>
            <td> <?php echo $row['Title']; ?> </td>
            <td> <?php echo $row['Email']; ?> </td>
        </tr>
<?php
}
}
?>
</table>

For reference here's a look at the source table as viewed from the database UI. Note that in some cases, I am only querying some of the fields(columns) in a table, not all of them... Which columns are queried is specified in the SQL select statment as seen above:
Select EmployeeId, LastName, FirstName, Title, Email from Employee


Here's my resulting HTML/CSS output for the table Employee:
IDLastNameFirstNameTitleEmail
1 Adams Andrew General Manager andrew@chinookcorp.com
2 Edwards Nancy Sales Manager nancy@chinookcorp.com
3 Peacock Jane Sales Support Agent jane@chinookcorp.com
4 Park Margaret Sales Support Agent margaret@chinookcorp.com
5 Johnson Steve Sales Support Agent steve@chinookcorp.com
6 Mitchell Michael IT Manager michael@chinookcorp.com
7 King Robert IT Staff robert@chinookcorp.com
8 Callahan Laura IT Staff laura@chinookcorp.com

---end data------

With the CSS removed:

IDLastNameFirstNameTitleEmail
1 Adams Andrew General Manager andrew@chinookcorp.com
2 Edwards Nancy Sales Manager nancy@chinookcorp.com
3 Peacock Jane Sales Support Agent jane@chinookcorp.com
4 Park Margaret Sales Support Agent margaret@chinookcorp.com
5 Johnson Steve Sales Support Agent steve@chinookcorp.com
6 Mitchell Michael IT Manager michael@chinookcorp.com
7 King Robert IT Staff robert@chinookcorp.com
8 Callahan Laura IT Staff laura@chinookcorp.com

---end data------



Invoices table
<h6>Invoices</h6>
<table>
<tr><th>Invoice Date</th><th>Total</th></tr>
<?php
$conn= createConnChinook();
$query = "Select InvoiceDate, Total from Invoice";

$result = mysqli_query($conn,$query);
if (!$result){
    die(mysqli_error($conn));
    }
if (mysqli_num_rows($result)>0){
    while ($row=mysqli_fetch_assoc($result)){
?>
        <tr>
        <td> <?php echo $row['InvoiceDate']; ?> </td>
        <td> <?php echo $row['Total']; ?> </td>
        </tr> 
<?php
    } 
}
?>
</table>
<p>---end data---


Alternate syntax where I dont jump out of PHP. Same result, we get the same HTML output by printing it from PHP echo.
<h6>Invoices</h6><table>
<tr><th>Invoice Date</th><th>Total</th></tr>
<?php
$conn= createConnChinook();
$query = "Select InvoiceDate, Total from Invoice";

$result = mysqli_query($conn,$query);
if (!$result){
    die(mysqli_error($conn));
    }
if (mysqli_num_rows($result)>0){
    while ($row=mysqli_fetch_assoc($result)){

        echo "<tr>";
        echo "<td>" . $row['InvoiceDate'] . "</td>";
        echo "<td>" . $row['Total'] . "</td>";
        echo "</tr>";
    } 
}
?>
</table>
 <p>---end data---


Long bit of output here...
Invoice DateTotal
2021-01-01 00:00:00 1.98
2021-01-02 00:00:00 3.96
2021-01-03 00:00:00 5.94
2021-01-06 00:00:00 8.91
2021-01-11 00:00:00 13.86
2021-01-19 00:00:00 0.99
2021-02-01 00:00:00 1.98
2021-02-01 00:00:00 1.98
2021-02-02 00:00:00 3.96
2021-02-03 00:00:00 5.94
2021-02-06 00:00:00 8.91
2021-02-11 00:00:00 13.86
2021-02-19 00:00:00 0.99
2021-03-04 00:00:00 1.98
2021-03-04 00:00:00 1.98
2021-03-05 00:00:00 3.96
2021-03-06 00:00:00 5.94
2021-03-09 00:00:00 8.91
2021-03-14 00:00:00 13.86
2021-03-22 00:00:00 0.99
2021-04-04 00:00:00 1.98
2021-04-04 00:00:00 1.98
2021-04-05 00:00:00 3.96
2021-04-06 00:00:00 5.94
2021-04-09 00:00:00 8.91
2021-04-14 00:00:00 13.86
2021-04-22 00:00:00 0.99
2021-05-05 00:00:00 1.98
2021-05-05 00:00:00 1.98
2021-05-06 00:00:00 3.96
2021-05-07 00:00:00 5.94
2021-05-10 00:00:00 8.91
2021-05-15 00:00:00 13.86
2021-05-23 00:00:00 0.99
2021-06-05 00:00:00 1.98
2021-06-05 00:00:00 1.98
2021-06-06 00:00:00 3.96
2021-06-07 00:00:00 5.94
2021-06-10 00:00:00 8.91
2021-06-15 00:00:00 13.86
2021-06-23 00:00:00 0.99
2021-07-06 00:00:00 1.98
2021-07-06 00:00:00 1.98
2021-07-07 00:00:00 3.96
2021-07-08 00:00:00 5.94
2021-07-11 00:00:00 8.91
2021-07-16 00:00:00 13.86
2021-07-24 00:00:00 0.99
2021-08-06 00:00:00 1.98
2021-08-06 00:00:00 1.98
2021-08-07 00:00:00 3.96
2021-08-08 00:00:00 5.94
2021-08-11 00:00:00 8.91
2021-08-16 00:00:00 13.86
2021-08-24 00:00:00 0.99
2021-09-06 00:00:00 1.98
2021-09-06 00:00:00 1.98
2021-09-07 00:00:00 3.96
2021-09-08 00:00:00 5.94
2021-09-11 00:00:00 8.91
2021-09-16 00:00:00 13.86
2021-09-24 00:00:00 0.99
2021-10-07 00:00:00 1.98
2021-10-07 00:00:00 1.98
2021-10-08 00:00:00 3.96
2021-10-09 00:00:00 5.94
2021-10-12 00:00:00 8.91
2021-10-17 00:00:00 13.86
2021-10-25 00:00:00 0.99
2021-11-07 00:00:00 1.98
2021-11-07 00:00:00 1.98
2021-11-08 00:00:00 3.96
2021-11-09 00:00:00 5.94
2021-11-12 00:00:00 8.91
2021-11-17 00:00:00 13.86
2021-11-25 00:00:00 0.99
2021-12-08 00:00:00 1.98
2021-12-08 00:00:00 1.98
2021-12-09 00:00:00 3.96
2021-12-10 00:00:00 5.94
2021-12-13 00:00:00 8.91
2021-12-18 00:00:00 13.86
2021-12-26 00:00:00 0.99
2022-01-08 00:00:00 1.98
2022-01-08 00:00:00 1.98
2022-01-09 00:00:00 3.96
2022-01-10 00:00:00 6.94
2022-01-13 00:00:00 17.91
2022-01-18 00:00:00 18.86
2022-01-26 00:00:00 0.99
2022-02-08 00:00:00 1.98
2022-02-08 00:00:00 1.98
2022-02-09 00:00:00 3.96
2022-02-10 00:00:00 5.94
2022-02-13 00:00:00 8.91
2022-02-18 00:00:00 21.86
2022-02-26 00:00:00 1.99
2022-03-11 00:00:00 3.98
2022-03-11 00:00:00 3.98
2022-03-12 00:00:00 3.96
2022-03-13 00:00:00 5.94
2022-03-16 00:00:00 9.91
2022-03-21 00:00:00 15.86
2022-03-29 00:00:00 0.99
2022-04-11 00:00:00 1.98
2022-04-11 00:00:00 1.98
2022-04-12 00:00:00 3.96
2022-04-13 00:00:00 5.94
2022-04-16 00:00:00 8.91
2022-04-21 00:00:00 13.86
2022-04-29 00:00:00 0.99
2022-05-12 00:00:00 1.98
2022-05-12 00:00:00 1.98
2022-05-13 00:00:00 3.96
2022-05-14 00:00:00 5.94
2022-05-17 00:00:00 8.91
2022-05-22 00:00:00 13.86
2022-05-30 00:00:00 0.99
2022-06-12 00:00:00 1.98
2022-06-12 00:00:00 1.98
2022-06-13 00:00:00 3.96
2022-06-14 00:00:00 5.94
2022-06-17 00:00:00 8.91
2022-06-22 00:00:00 13.86
2022-06-30 00:00:00 0.99
2022-07-13 00:00:00 1.98
2022-07-13 00:00:00 1.98
2022-07-14 00:00:00 3.96
2022-07-15 00:00:00 5.94
2022-07-18 00:00:00 8.91
2022-07-23 00:00:00 13.86
2022-07-31 00:00:00 0.99
2022-08-13 00:00:00 1.98
2022-08-13 00:00:00 1.98
2022-08-14 00:00:00 3.96
2022-08-15 00:00:00 5.94
2022-08-18 00:00:00 8.91
2022-08-23 00:00:00 13.86
2022-08-31 00:00:00 0.99
2022-09-13 00:00:00 1.98
2022-09-13 00:00:00 1.98
2022-09-14 00:00:00 3.96
2022-09-15 00:00:00 5.94
2022-09-18 00:00:00 8.91
2022-09-23 00:00:00 13.86
2022-10-01 00:00:00 0.99
2022-10-14 00:00:00 1.98
2022-10-14 00:00:00 1.98
2022-10-15 00:00:00 3.96
2022-10-16 00:00:00 5.94
2022-10-19 00:00:00 8.91
2022-10-24 00:00:00 13.86
2022-11-01 00:00:00 0.99
2022-11-14 00:00:00 1.98
2022-11-14 00:00:00 1.98
2022-11-15 00:00:00 3.96
2022-11-16 00:00:00 5.94
2022-11-19 00:00:00 8.91
2022-11-24 00:00:00 13.86
2022-12-02 00:00:00 0.99
2022-12-15 00:00:00 1.98
2022-12-15 00:00:00 1.98
2022-12-16 00:00:00 3.96
2022-12-17 00:00:00 5.94
2022-12-20 00:00:00 8.91
2022-12-25 00:00:00 13.86
2023-01-02 00:00:00 0.99
2023-01-15 00:00:00 1.98
2023-01-15 00:00:00 1.98
2023-01-16 00:00:00 3.96
2023-01-17 00:00:00 5.94
2023-01-20 00:00:00 8.91
2023-01-25 00:00:00 13.86
2023-02-02 00:00:00 0.99
2023-02-15 00:00:00 1.98
2023-02-15 00:00:00 1.98
2023-02-16 00:00:00 3.96
2023-02-17 00:00:00 5.94
2023-02-20 00:00:00 8.91
2023-02-25 00:00:00 13.86
2023-03-05 00:00:00 0.99
2023-03-18 00:00:00 1.98
2023-03-18 00:00:00 1.98
2023-03-19 00:00:00 3.96
2023-03-20 00:00:00 5.94
2023-03-23 00:00:00 8.91
2023-03-28 00:00:00 13.86
2023-04-05 00:00:00 0.99
2023-04-18 00:00:00 1.98
2023-04-18 00:00:00 1.98
2023-04-19 00:00:00 3.96
2023-04-20 00:00:00 5.94
2023-04-23 00:00:00 14.91
2023-04-28 00:00:00 21.86
2023-05-06 00:00:00 0.99
2023-05-19 00:00:00 1.98
2023-05-19 00:00:00 1.98
2023-05-20 00:00:00 3.96
2023-05-21 00:00:00 5.94
2023-05-24 00:00:00 8.91
2023-05-29 00:00:00 18.86
2023-06-06 00:00:00 1.99
2023-06-19 00:00:00 2.98
2023-06-19 00:00:00 3.98
2023-06-20 00:00:00 7.96
2023-06-21 00:00:00 8.94
2023-06-24 00:00:00 8.91
2023-06-29 00:00:00 15.86
2023-07-07 00:00:00 0.99
2023-07-20 00:00:00 1.98
2023-07-20 00:00:00 1.98
2023-07-21 00:00:00 3.96
2023-07-22 00:00:00 5.94
2023-07-25 00:00:00 8.91
2023-07-30 00:00:00 13.86
2023-08-07 00:00:00 0.99
2023-08-20 00:00:00 1.98
2023-08-20 00:00:00 1.98
2023-08-21 00:00:00 3.96
2023-08-22 00:00:00 5.94
2023-08-25 00:00:00 8.91
2023-08-30 00:00:00 13.86
2023-09-07 00:00:00 0.99
2023-09-20 00:00:00 1.98
2023-09-20 00:00:00 1.98
2023-09-21 00:00:00 3.96
2023-09-22 00:00:00 5.94
2023-09-25 00:00:00 8.91
2023-09-30 00:00:00 13.86
2023-10-08 00:00:00 0.99
2023-10-21 00:00:00 1.98
2023-10-21 00:00:00 1.98
2023-10-22 00:00:00 3.96
2023-10-23 00:00:00 5.94
2023-10-26 00:00:00 8.91
2023-10-31 00:00:00 13.86
2023-11-08 00:00:00 0.99
2023-11-21 00:00:00 1.98
2023-11-21 00:00:00 1.98
2023-11-22 00:00:00 3.96
2023-11-23 00:00:00 5.94
2023-11-26 00:00:00 8.91
2023-12-01 00:00:00 13.86
2023-12-09 00:00:00 0.99
2023-12-22 00:00:00 1.98
2023-12-22 00:00:00 1.98
2023-12-23 00:00:00 3.96
2023-12-24 00:00:00 5.94
2023-12-27 00:00:00 8.91
2024-01-01 00:00:00 13.86
2024-01-09 00:00:00 0.99
2024-01-22 00:00:00 1.98
2024-01-22 00:00:00 1.98
2024-01-23 00:00:00 3.96
2024-01-24 00:00:00 5.94
2024-01-27 00:00:00 8.91
2024-02-01 00:00:00 13.86
2024-02-09 00:00:00 0.99
2024-02-22 00:00:00 1.98
2024-02-22 00:00:00 1.98
2024-02-23 00:00:00 3.96
2024-02-24 00:00:00 5.94
2024-02-27 00:00:00 8.91
2024-03-03 00:00:00 13.86
2024-03-11 00:00:00 0.99
2024-03-24 00:00:00 1.98
2024-03-24 00:00:00 1.98
2024-03-25 00:00:00 3.96
2024-03-26 00:00:00 5.94
2024-03-29 00:00:00 8.91
2024-04-03 00:00:00 13.86
2024-04-11 00:00:00 0.99
2024-04-24 00:00:00 1.98
2024-04-24 00:00:00 1.98
2024-04-25 00:00:00 3.96
2024-04-26 00:00:00 5.94
2024-04-29 00:00:00 8.91
2024-05-04 00:00:00 13.86
2024-05-12 00:00:00 0.99
2024-05-25 00:00:00 1.98
2024-05-25 00:00:00 1.98
2024-05-26 00:00:00 3.96
2024-05-27 00:00:00 5.94
2024-05-30 00:00:00 8.91
2024-06-04 00:00:00 13.86
2024-06-12 00:00:00 0.99
2024-06-25 00:00:00 1.98
2024-06-25 00:00:00 1.98
2024-06-26 00:00:00 3.96
2024-06-27 00:00:00 5.94
2024-06-30 00:00:00 8.91
2024-07-05 00:00:00 13.86
2024-07-13 00:00:00 0.99
2024-07-26 00:00:00 1.98
2024-07-26 00:00:00 1.98
2024-07-27 00:00:00 3.96
2024-07-28 00:00:00 5.94
2024-07-31 00:00:00 10.91
2024-08-05 00:00:00 23.86
2024-08-13 00:00:00 0.99
2024-08-26 00:00:00 1.98
2024-08-26 00:00:00 1.98
2024-08-27 00:00:00 3.96
2024-08-28 00:00:00 5.94
2024-08-31 00:00:00 8.91
2024-09-05 00:00:00 16.86
2024-09-13 00:00:00 1.99
2024-09-26 00:00:00 3.98
2024-09-26 00:00:00 3.98
2024-09-27 00:00:00 7.96
2024-09-28 00:00:00 11.94
2024-10-01 00:00:00 10.91
2024-10-06 00:00:00 16.86
2024-10-14 00:00:00 0.99
2024-10-27 00:00:00 1.98
2024-10-27 00:00:00 1.98
2024-10-28 00:00:00 3.96
2024-10-29 00:00:00 5.94
2024-11-01 00:00:00 8.91
2024-11-06 00:00:00 13.86
2024-11-14 00:00:00 0.99
2024-11-27 00:00:00 1.98
2024-11-27 00:00:00 1.98
2024-11-28 00:00:00 3.96
2024-11-29 00:00:00 5.94
2024-12-02 00:00:00 8.91
2024-12-07 00:00:00 13.86
2024-12-15 00:00:00 0.99
2024-12-28 00:00:00 1.98
2024-12-28 00:00:00 1.98
2024-12-29 00:00:00 3.96
2024-12-30 00:00:00 5.94
2025-01-02 00:00:00 8.91
2025-01-07 00:00:00 13.86
2025-01-15 00:00:00 0.99
2025-01-28 00:00:00 1.98
2025-01-28 00:00:00 1.98
2025-01-29 00:00:00 3.96
2025-01-30 00:00:00 5.94
2025-02-02 00:00:00 8.91
2025-02-07 00:00:00 13.86
2025-02-15 00:00:00 0.99
2025-02-28 00:00:00 1.98
2025-02-28 00:00:00 1.98
2025-03-01 00:00:00 3.96
2025-03-02 00:00:00 5.94
2025-03-05 00:00:00 8.91
2025-03-10 00:00:00 13.86
2025-03-18 00:00:00 0.99
2025-03-31 00:00:00 1.98
2025-03-31 00:00:00 1.98
2025-04-01 00:00:00 3.96
2025-04-02 00:00:00 5.94
2025-04-05 00:00:00 8.91
2025-04-10 00:00:00 13.86
2025-04-18 00:00:00 0.99
2025-05-01 00:00:00 1.98
2025-05-01 00:00:00 1.98
2025-05-02 00:00:00 3.96
2025-05-03 00:00:00 5.94
2025-05-06 00:00:00 8.91
2025-05-11 00:00:00 13.86
2025-05-19 00:00:00 0.99
2025-06-01 00:00:00 1.98
2025-06-01 00:00:00 1.98
2025-06-02 00:00:00 3.96
2025-06-03 00:00:00 5.94
2025-06-06 00:00:00 8.91
2025-06-11 00:00:00 13.86
2025-06-19 00:00:00 0.99
2025-07-02 00:00:00 1.98
2025-07-02 00:00:00 1.98
2025-07-03 00:00:00 3.96
2025-07-04 00:00:00 5.94
2025-07-07 00:00:00 8.91
2025-07-12 00:00:00 13.86
2025-07-20 00:00:00 0.99
2025-08-02 00:00:00 1.98
2025-08-02 00:00:00 1.98
2025-08-03 00:00:00 3.96
2025-08-04 00:00:00 5.94
2025-08-07 00:00:00 8.91
2025-08-12 00:00:00 13.86
2025-08-20 00:00:00 0.99
2025-09-02 00:00:00 1.98
2025-09-02 00:00:00 1.98
2025-09-03 00:00:00 3.96
2025-09-04 00:00:00 5.94
2025-09-07 00:00:00 8.91
2025-09-12 00:00:00 13.86
2025-09-20 00:00:00 0.99
2025-10-03 00:00:00 1.98
2025-10-03 00:00:00 1.98
2025-10-04 00:00:00 3.96
2025-10-05 00:00:00 5.94
2025-10-08 00:00:00 8.91
2025-10-13 00:00:00 13.86
2025-10-21 00:00:00 0.99
2025-11-03 00:00:00 1.98
2025-11-03 00:00:00 1.98
2025-11-04 00:00:00 3.96
2025-11-05 00:00:00 5.94
2025-11-08 00:00:00 8.91
2025-11-13 00:00:00 25.86
2025-11-21 00:00:00 0.99
2025-12-04 00:00:00 1.98
2025-12-04 00:00:00 1.98
2025-12-05 00:00:00 3.96
2025-12-06 00:00:00 5.94
2025-12-09 00:00:00 8.91
2025-12-14 00:00:00 13.86
2025-12-22 00:00:00 1.99

---end data---

Customers table
CustomerID LastName State email phone
1 Gonçalves SP luisg@embraer.com.br +55 (12) 3923-5555
2 Köhler leonekohler@surfeu.de +49 0711 2842222
3 Tremblay QC ftremblay@gmail.com +1 (514) 721-4711
4 Hansen bjorn.hansen@yahoo.no +47 22 44 22 22
5 Wichterlová frantisekw@jetbrains.com +420 2 4172 5555
6 Holý hholy@gmail.com +420 2 4177 0449
7 Gruber astrid.gruber@apple.at +43 01 5134505
8 Peeters daan_peeters@apple.be +32 02 219 03 03
9 Nielsen kara.nielsen@jubii.dk +453 3331 9991
10 Martins SP eduardo@woodstock.com.br +55 (11) 3033-5446
11 Rocha SP alero@uol.com.br +55 (11) 3055-3278
12 Almeida RJ roberto.almeida@riotur.gov.br +55 (21) 2271-7000
13 Ramos DF fernadaramos4@uol.com.br +55 (61) 3363-5547
14 Philips AB mphilips12@shaw.ca +1 (780) 434-4554
15 Peterson BC jenniferp@rogers.ca +1 (604) 688-2255
16 Harris CA fharris@google.com +1 (650) 253-0000
17 Smith WA jacksmith@microsoft.com +1 (425) 882-8080
18 Brooks NY michelleb@aol.com +1 (212) 221-3546
19 Goyer CA tgoyer@apple.com +1 (408) 996-1010
20 Miller CA dmiller@comcast.com +1 (650) 644-3358
21 Chase NV kachase@hotmail.com +1 (775) 223-7665
22 Leacock FL hleacock@gmail.com +1 (407) 999-7788
23 Gordon MA johngordon22@yahoo.com +1 (617) 522-1333
24 Ralston IL fralston@gmail.com +1 (312) 332-3232
25 Stevens WI vstevens@yahoo.com +1 (608) 257-0597
26 Cunningham TX ricunningham@hotmail.com +1 (817) 924-7272
27 Gray AZ patrick.gray@aol.com +1 (520) 622-4200
28 Barnett UT jubarnett@gmail.com +1 (801) 531-7272
29 Brown ON robbrown@shaw.ca +1 (416) 363-8888
30 Francis ON edfrancis@yachoo.ca +1 (613) 234-3322
31 Silk NS marthasilk@gmail.com +1 (902) 450-0450
32 Mitchell MB aaronmitchell@yahoo.ca +1 (204) 452-6452
33 Sullivan NT ellie.sullivan@shaw.ca +1 (867) 920-2233
34 Fernandes jfernandes@yahoo.pt +351 (213) 466-111
35 Sampaio masampaio@sapo.pt +351 (225) 022-448
36 Schneider hannah.schneider@yahoo.de +49 030 26550280
37 Zimmermann fzimmermann@yahoo.de +49 069 40598889
38 Schröder nschroder@surfeu.de +49 030 2141444
39 Bernard camille.bernard@yahoo.fr +33 01 49 70 65 65
40 Lefebvre dominiquelefebvre@gmail.com +33 01 47 42 71 71
41 Dubois marc.dubois@hotmail.com +33 04 78 30 30 30
42 Girard wyatt.girard@yahoo.fr +33 05 56 96 96 96
43 Mercier isabelle_mercier@apple.fr +33 03 80 73 66 99
44 Hämäläinen terhi.hamalainen@apple.fi +358 09 870 2000
45 Kovács ladislav_kovacs@apple.hu
46 O'Reilly Dublin hughoreilly@apple.ie +353 01 6792424
47 Mancini RM lucas.mancini@yahoo.it +39 06 39733434
48 Van der Berg VV johavanderberg@yahoo.nl +31 020 6223130
49 Wójcik stanis?aw.wójcik@wp.pl +48 22 828 37 39
50 Muñoz enrique_munoz@yahoo.es +34 914 454 454
51 Johansson joakim.johansson@yahoo.se +46 08-651 52 52
52 Jones emma_jones@hotmail.com +44 020 7707 0707
53 Hughes phil.hughes@gmail.com +44 020 7976 5722
54 Murray steve.murray@yahoo.uk +44 0131 315 3300
55 Taylor NSW mark.taylor@yahoo.au +61 (02) 9332 3633
56 Gutiérrez diego.gutierrez@yahoo.ar +54 (0)11 4311 4333
57 Rojas luisrojas@yahoo.cl +56 (0)2 635 4444
58 Pareek manoj.pareek@rediff.com +91 0124 39883988
59 Srivastava puja_srivastava@yahoo.in +91 080 22289999

---end data---

Genre table
GenreID Name
1 Rock
2 Jazz
3 Metal
4 Alternative & Punk
5 Rock And Roll
6 Blues
7 Latin
8 Reggae
9 Pop
10 Soundtrack
11 Bossa Nova
12 Easy Listening
13 Heavy Metal
14 R&B/Soul
15 Electronica/Dance
16 World
17 Hip Hop/Rap
18 Science Fiction
19 TV Shows
20 Sci Fi & Fantasy
21 Drama
22 Comedy
23 Alternative
24 Classical
25 Opera

---end data---

Chinook database diagram:



Accessibility
 --overview

Agile
 --DevOps overview
 --Principles

API
 --REST best practices
 --REST demo
 --REST vs RPC
 --Wikipedia API

Blockchain
 --overview

Cloud
 --AWS overview

CSS/HTML
 --Bootstrap carousel
 --Grid demo
 --markdown demo

Electricity
 --fundamentals

Encoding
 --Overview

Ergonomics
 --Desk configuration
 --Device fleet
 --Input device array
 --keystroke mechanics
 --Phones & RSI

ERP
 --Anthology overview
 --Ellucian Banner
 --Higher Ed ERP Simulation Lab
 --PeopleSoft Campus Solutions
 --PESC standards
 --Slate data model

Git
 --syntax overview
 --troubleshooting libcrypto

Hardware
 --Device fleet
 --Homelab diagram

Java
 --Fundamentals

Javascript
 --Advanced Interaction: jQuery & UI Frameworks
 --input prompt demo
 --misc demo
 --Time and Date functions
 --Vue demo

Linux
 --grep demo
 --HCI and Proxmox
 --Proxmox install
 --xammp ftp server

Mail flow
 --DKIM, SPF, DMARC
 --MAPI

Microsoft
 --AZ-800: Administering Windows Server Hybrid Core Infrastructure
 --BAT scripting
 --Group Policy
 --IIS
 --robocopy
 --Server 2022 setup - Virtualbox

Misc
 --Applications
 --regex
 --Resources
 --Sustainable Computing
 --Terminology
 --Tribute to Computer Scientists

Networks
 --BGP Peering & Security Hardening Lab
 --CCNA Lammle Study Guide
 --Cisco 1921/K9 router
 --routing protocols
 --throughput calculations

PHP/SQL
 --Cookies
 --database interaction
 --demo, OSI Layers quiz
 --Foreign key constraint demo
 --fundamentals
 --MySQL and PHPmyAdmin setup
 --pagination
 --security
 --session variables
 --SQL fundamentals
 --structures
 --Tables display

Python
 --fundamentals

Security
 --Overview- GRC (Governance, Risk, and Compliance)
 --Security Blog
 --SSH fundamentals

Serialization
 --JSON demo
 --YAML demo