Help searching a database

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
cs1h
Forum Newbie
Posts: 13
Joined: Fri Aug 31, 2007 11:39 am

Help searching a database

Post by cs1h »

feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


Hi, 

I'm new to php and Mysql, I am trying to develope a databse for travel reviews. So far people can submit articles to my database but I cannot get a search to work with the criteria I want. I have tried to find tutorials online but none of them do what I need. 

If any one can point me to one that would help or one give me some hints it would be much appriciated. 

My search form is as follows

[syntax="html"]<body>
<form id="form1" name="form1" method="post" action="">
  <label>
  Select type of article you want
  <select name="lista" id="lista">
    <option>News </option>
    <option>Magazine</option>
    <option>Listing</option>
    </select>
  <br />
  Select Region 
  <select name="listb" id="listb">
    <option>Africa</option>
    <option>Asia</option>
    <option>Europe</option>
    <option>North America</option>
    <option>Oceania</option>
    <option>South America</option>
  </select>
  </label>
  <p>Search for a Keyword 
    <label>
    <input type="text" name="keyword" id="keyword" />
    </label>
  </p>
</form>
</body>
And my database table is,
Article_type VARCHAR 100, Place VARCHAR 100, Article TEXT
.

I want people to be able to select the article type, then select the places that they want and then matching words in the article.

Any help would be much appriciated,

Thanks,
Colin


feyd | Please use[/syntax]

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
User avatar
Christopher
Site Administrator
Posts: 13596
Joined: Wed Aug 25, 2004 7:54 pm
Location: New York, NY, US

Post by Christopher »

Code: Select all

$article_type = isset($_POST['lista']) ? preg_replace('/[^a-zA-Z0-9\ ]/', '', $_POST['lista']) : '';
$place = isset($_POST['listb']) ? preg_replace('/[^a-zA-Z0-9\ ]/', '', $_POST['listb']) : '';
$keyword = isset($_POST['keyword']) ? preg_replace('/[^a-zA-Z0-9\ ]/', '', $_POST['keyword']) : '';

$where = array();
if ($article_type) {
     $where[] = "Article_type='$article_type'";
}
if ($place) {
     $where[] = "Place='$place'";
}
if ($keyword ) {
     $where[] = "Article LIKE '%$keyword%'";
}
if ($where) {
     $sql = "SELECT * FROM articles WHERE " . implode(' AND ', $where);
     // query and display results
} else {
    // redisplay form and error message because no values were entered
}
(#10850)
Post Reply