Welcome to WebmasterWorld Guest from 54.221.54.252

Forum Moderators: open

Message Too Old, No Replies

Making sure a row does not display twice

     
7:22 pm on Dec 30, 2009 (gmt 0)

New User

5+ Year Member

joined:Oct 4, 2009
posts: 26
votes: 0


I have a search query in which I link two tables, like so:
$query = "SELECT * FROM `venues`, `events` WHERE `venues`.`vid` = `events`.`venue` AND (`type` LIKE '%Concert%')"

This query is called when a user searches for a specific event type, like "Concert." It is supposed to return all venues that have events with "Concert" in their types array.

It works fine, but the problem is if a venue has two events with the "Concert" type, this query returns the venue twice. I tried adding a check within the mysql while loop to make sure a venue isn't displayed twice, but because this is outside of the query, it interferes with my pagination. (i.e., if it's set to display 3 results per page, it will sometimes only display 2 because it filters out the duplicated venues without changing the query).

So, is there anything I can add directly to the query in order to make sure that a venue is not displayed more than once?

Thanks.

7:45 pm on Dec 30, 2009 (gmt 0)

Moderator from US 

WebmasterWorld Administrator lifeinasia is a WebmasterWorld Top Contributor of All Time 10+ Year Member Top Contributors Of The Month

joined:Dec 10, 2005
posts:5628
votes: 48


Do you need to display anything from the events table? If not, just use "SELECT DISTINCT venues.*" instead of "SELECT *" in your query.
7:51 pm on Dec 30, 2009 (gmt 0)

New User

5+ Year Member

joined:Oct 4, 2009
posts:26
votes: 0


Perfect, thanks!