HomePHP Page 6 - Building a Quick and Easy Tag Board
Retrieval and Sorting of Tags - PHP
Tag boards enable users to leave a short message on your site without having to go through the trouble of registering. From a development point of view, they are actually rather simple to develop. In this article we will create a quick and easy tag board for any web site. We will be taking advantage of the php and MySQL technologies.
The retrieval and sorting of the tags is done with the following code:
/* Connect to Database */ $conx = mysql_connect(HOST, USER, PASS) or die("Unable to connect to MySQL Server"); mysql_select_db(DB) or die("Unable to select Database");
/* The MySQL Query */ $stSql = "SELECT tag_name, tag_url, tag_entry, tag_date FROM tagboard ORDER BY tag_date DESC";
/* Submit Query to MySQL and check results */ $arrResult = @mysql_query($stSql); if (!$arrResult) { echo "Query Failed - Unable to Retrieve tags - ".mysql_error()." – Action Aborted"; exit(); }
The first section we are connecting to our MySQL Database, taking advantage of our defined constants.
Secondly we set the SQL query we will use to retrieve the name of the user who posted the tag “tag_name”, the users website URL “tag_url”, the tag itself “tag_entry” and the date the tag was entered into the database “tag_date”. We then ask MySQL to retrieve the results from the “tagboard” table and ask MySQL to order the results by the date submitted “tag_date”.
And finally we submit the result to MySQL for processing. If an error is encountered it will be picked up, displayed to the user in a controlled fashion and then the script will be aborted.
Now we will look at the displaying of the tags in a formatted fashion:
/* Check wether MySQL returned 1 or more rows */ if (mysql_num_rows($arrResult) >= 1) { /* loop through rows – strip any slashes – display formatted tags */ while ($arrRow = mysql_fetch_assoc($arrResult)) { ?> <table align="center" width="100%" bgcolor="#FFFFFF"> <tr> <td><a href="<? echo stripslashes($arrRow['tag_url']); ?>"><? echo stripslashes($arrRow['tag_name']); ?></a></td> </tr> <tr> <td><? echo nl2br(stripslashes($arrRow['tag_entry'])); ?></td> </tr> <tr> <td><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: 9px; color: #666666"> <? echo date("F j, Y, g:i a", $arrRow['tag_date']); ?></span></td> </tr> </table> <? } /* If no rows were returned by the query, let the user know */ } else { ?> <p style="font-family: verdana,arial,helvetica,sans-serif; font-size: 11px; background-color: #FFFFFF">No entries to display</p> <? }