PHP: If more than 1 match found then list up to 10 as links

Hi,

Given the code below, how can I display the content of mysql_fetch_assoc array?  What I would like to present is a list up to say 10 or 20 or all at a time of the matches that were found then display them as link where the user can simply click on it to display the content of the record.

Let's use a good existing code given by cxr for example:

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_24005839.html?sfQueryTermInfo=1+10+30+arraysg2008

Thanks in advance
if($_POST['user']=='Search') {
  $res = mysql_query(
    "select * from $tablename where
     firstname like '$firstname%' and
     lastname like '$lastname%' and
     department like '$department%'
     order by id");
  if($res) {
    $row = mysql_fetch_assoc($res);
    if($row) {
      $row_count = mysql_num_rows($res);
      if($row_count > 1) $msg = $row_count.' rows found, showing the first';
      $row_id=$row['id'];
      $firstname=$row['firstname'];
      $lastname=$row['lastname'];
      $department=$row['department'];
    } else $msg = 'No rows found';
  } else $msg = 'query failed: '.mysql_error();
}

Open in new window

LVL 19
Wayne88Asked:
Who is Participating?
 
armina_99Connect With a Mentor Commented:
I would start by adding LIMIT 20 to your sql query.

By adding LIMIT 20 (or alternatively LIMIT 0,20), you will only get the first 20 results. If you want the following 20, you would add LIMIT 20,20. Want the following 20, you'd get LIMIT 40,20 etc...

You can then simply parse all the rows returned. Not get all 20, then you will simply get less rows. A last check to see if you got any results at all to not get an empty table, and you're set.

See also: http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
0
 
Ray PaseurConnect With a Mentor Commented:
This article may be helpful:
http://blogs.sitepoint.com/perfect-php-pagination/

The general way I would design something like this would be to set up a "see details" script that displays information from a single row.  It would have the key of that row in the URL arguments.  Then in the script that displays lots of rows, I would add a "see details" link with the key of each row.  Does that make sense to you?
0
 
Wayne88Author Commented:
hi guys, thanks for your help.  what i was looking for is more inline with this mysql_fetch_assoc array output.

however, both of you did gave me partial ideas that i will be using to accomplish my task.  cheers!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.