Version 8 (modified by 13 months ago) ( diff ) | ,
---|
PHP
The 825gen2 includes PHP which combined with the Apache Web Server allows for powerful web features.
root@imx8mq-var-dart:~# php -v PHP 8.1.10 (cli) (built: Aug 30 2022 16:09:36) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.10, Copyright (c) Zend Technologies
Accessing MySQL database from php:
Make sure MySQL is configured first. Refer to MySQL page MySQL (MariaDB)
Create a simple test php file to read from the database
cd /usr/share/apache2/default-site/htdocs nano readmysql.php
<!DOCTYPE html> <html lang="en"> <head> <title>825 MySQL Test</title> </head> <body> <?php $conn = mysqli_connect('127.0.0.1', 'dbuser', '81440', 'test'); if(!$conn) { echo 'Connection error: ' . mysqli_connect_error(); } else { $sql = 'select * from test_tbl;'; $result = $conn->query($sql); if($result->num_rows > 0) { echo '<table><tr><th>Title</th><th>Description</th></tr>'; while($row = $result->fetch_assoc()) { $title = $row['title']; $description = $row['description']; echo '<tr><td>' . $title . '</td><td>' . $description . '</td></tr>'; } echo '</table>'; } } ?> </body> </html>
Test with PC on same network as 825.
It may also be helpful to use browser "Developer tools" selection to view the generated html code.
PHP can also be used to read SQLite databases.
root@imx8mq-var-dart:/usr/share/apache2/default-site/htdocs# cat testsqlite.php <!DOCTYPE html> <html lang="en"> <head> <title>825 SQLite Test</title> </head> <body> <?php $db = new SQLite3('/mnt/nand/apps/ids/ids.db3'); $results = $db->query('SELECT truck_name,tare FROM trucks'); echo '<table><tr><th>Truck ID</th><th>Tare</th></tr>'; while ($row = $results->fetchArray()) { $truckid = $row['truck_name']; $tare = $row['tare']; echo '<tr><td>' . $truckid . '</td><td>' . $tare . '</td></tr>'; } echo '</table>'; ?> </body> </html>
Following is a more advanced demo. This reads from an ID storage transaction table and also displays vehicle images associated with transactions.
<!DOCTYPE html> <html lang="en"> <head> <title>825 ID Storage</title> <style type="text/css" media="screen"> table tr td { text-align: right; padding: 0 15px; } </style> </head> <body> <?php $conn = mysqli_connect('127.0.0.1', 'dbuser', '81440', 'test'); if(!$conn) { echo 'Connection error: ' . mysqli_connect_error(); } else { $sql = 'select * from trans;'; $result = $conn->query($sql); if($result->num_rows > 0) { echo '<table><tr><th>Tran Num</th><th>date/time</th><th>Gross Wt</th><th>Tare Wt</th><th>Net Wt</th><th>Image</th></tr>'; while($row = $result->fetch_assoc()) { $tkt_num = $row['tkt_num']; $datetime = $row['date'] . ' ' . $row['time']; $gross = $row['gross']; $tare = $row['tare']; $net = $row['net']; echo '<tr><td>' . $tkt_num . '</td><td>' . $datetime . '</td><td>' . $gross . '</td><td>' . $tare . '</td><td>'. $net . '</td>'; $imgfile = sprintf("v%06d_1.jpg", $tkt_num); $img = 'images/' . $imgfile; if(!file_exists($img)) { $imgfile = sprintf("v%06da_1.jpg", $tkt_num); $img = 'images/' . $imgfile; } if(file_exists($img)) { echo '<td><a href="' . $img . '"><img src="' . $img .'" width="128" height="96" ></a></td></tr>'; } else { echo '<td>no image</td>'; } } echo '</table>'; } } ?> </body> </html>
Attachments (4)
- 825webpagephp.png (9.5 KB ) - added by 13 months ago.
- 825webdevtools.png (18.8 KB ) - added by 13 months ago.
- 825webphpsqlite.png (10.7 KB ) - added by 13 months ago.
- 825webpage_ids_captured_images.png (167.7 KB ) - added by 9 months ago.
Download all attachments as: .zip