Collecting more than one record from table

WE can collect more than one record from a table by using sql query. For example list of all states of USA from the country list. Our table have two columns one is country and other is associated states.

We have already connected to database by using PDO. After successful connection to MySQL database we can use this script to display records from the table.

$sql="select state from table_name WHERE state='USA'";

echo "<table>";
foreach ($dbo->query($sql) as $row) {
echo "<tr ><td>$row[state]</td></tr>";
echo "</table>";

Let us add some style command to this code like this.

echo "<table class='t1'>";
foreach ($dbo->query($sql) as $row) {$m=$i%2;
echo "<tr class='r$m'><td>$row[state]</td></tr>";
echo "</table>";

Adding Bootstrap style

Learn more about Bootstrap here

$sql="select state from table_name WHERE state='USA'";

echo "<table class='table table-striped'>
<tr class='info'><th>State</th> </tr>";

foreach ($dbo->query($sql) as $row) {
echo "<tr  ><td>$row[state]</td></tr>";
echo "</table>";

Displaying Multiple columns of a table

We can display more than one column of the database table. Here we will keep column name in table header and keep the record data in normal table cell.
require "config.php";// database connection
$count="select * from pdo_admin where name='$name'"; echo "<table>"; echo "<tr><th>id</th><th>userid</th><th>password</th><th>name</th><th>status</th></tr>"; foreach ($dbo->query($count) as $row) { echo "<tr ><td>$row[id]</td><td>$row[userid]</td><td>$row[password]</td><td>$row[name]</td><td>$row[status]</td></tr>"; } echo "</table>";

Precaution while passing variables to a query

When we receive a variable from a web-form or from query string or from other un-known sources , it is better to use bindParam to check and use the variable inside query. Here is an example with added checks to above code.
require "config.php";// database connection
$query="select * from pdo_admin where name=:name";
$step = $dbo->prepare($query);
$step->bindParam(':name', $name,PDO::PARAM_STR,50);
$step = $step->fetchAll();

echo "<table>";

echo "<tr><th>id</th><th>userid</th><th>password</th><th>name</th><th>status</th></tr>";

foreach ($step as $row) {
echo "<tr ><td>$row[id]</td><td>$row[userid]</td><td>$row[password]</td><td>$row[name]</td><td>$row[status]</td></tr>";

echo "</table>";
Output with limited records are displayed here.
We have displayed limited number of records here , but there may be hundred or more records in a table. Displaying all in a single page will not give better user experience. We can break the total records and display limited records and then give user choice to browse to different section of the records.

This is called paging of records.
Download Zip file to test your PHP PDO script
Your Rating


Post Comment This is for short comments only. Use the forum for more discussions.

HTML . MySQL. PHP. JavaScript. ASP. Photoshop. Articles. FORUM Contact us
©2000-2017 All rights reserved worldwide Privacy Policy Disclaimer