?
Solved

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

Posted on 2011-05-04
3
Medium Priority
?
249 Views
Last Modified: 2012-08-14
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

0
Comment
Question by:Wayne88
3 Comments
 
LVL 1

Accepted Solution

by:
armina_99 earned 375 total points
ID: 35694666
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
 
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 375 total points
ID: 35699633
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
 
LVL 18

Author Closing Comment

by:Wayne88
ID: 35703907
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

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
The title says it all. Writing any type of PHP Application or API code that provides high throughput, while under a heavy load, seems to be an arcane art form (Black Magic). This article aims to provide some general guidelines for producing this typ…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.
Suggested Courses
Course of the Month15 days, 13 hours left to enroll

850 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question