After setting up the connection to the database and then picked up the values that we put in a table, this time we are to create dynamic lists that contain a set number of rows. We must do this because the company database we will certainly hundreds of values, why in this lesson we will see how to create lists of values and in the next we will also see how to perform searches and also with filtering and sorting data. In fact this work there is quite simplified, as some articles ago I wrote a post about how to display list of values in PHP and MySQL, then resume the information that my work.
The first thing to do is to fill up our database with PHPMyAdmin of values, I suggest you put a dozen inventory items as they put 3 records per page, then just changing a value to a variable, we can adapt it to 10 or 20 lines per page. Here are the entries you need to do to the page code than that of the previous lesson:
... public function GetNumRows() { if ($this->m_Rowset != NULL) return mysql_num_rows($this->m_Rowset); return 0; } ...
We have added a new feature to our class CMySQL to get the total number of records, then we can calculate the number of rows to skip to have the exact record:
... $rows = 4; $page = 2; $tot_rows = $items->GetNumRows(); $last_page = (int)($tot_rows / $rows); if (($tot_rows % $rows) > 0) $last_page++; if ($page > 1) { $numrec = $rows * ($page - 1); for ($i = 0; $i < $numrec; $i++) { if (!$items->MoveNext()) break; } } ...
Finally we go to modify the part that writes the table:
... $counter = 0; do { if ($counter >= $rows) break; if ($items->GetData("Description") != NULL) { .... $counter++; } } while ($items->MoveNext()); ... <tr> <td colspan="6" height="30" align="center" valign="middle" bgcolor="eeeeee" style="color:#444444;font-family: trebuchet,Tahoma,Verdana;font-size:12px;font-weight: normal"> <?php if ($counter == 1) echo "View $counter value in page $page of $last_page"; else if ($counter > 1) echo "View $counter values in page $page of $last_page"; else echo "There are no values in list"; ?> </td> </tr> ...
Here is the result:
Try to increase the values of rows to display, the pages in this case must decrease. As a task I ask you to place links to move down the list with the usual “previous”, “next”, “first” and “last” and of course implement them. If you followed my course and my articles on PHP, with diligence and attention, you will know definitely perform this simple task.