Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

I need to create a dynamic search with php and mysql that has multiple items to search from. i.e for a car company make(one field ), color(with a database supplied list)

Posted on 2008-06-24
4
Medium Priority
?
863 Views
Last Modified: 2013-12-12
I am a beginner at php and mysql. I already know how to create a database and do some simple php but I want to build a dynamic search that use multiple choice like for a car site make(with dymanic generated drop down), color(with dymanic generated drop down) etc can anyone help. I am starting from scratch
0
Comment
Question by:nbham29
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 1

Assisted Solution

by:morristhebear
morristhebear earned 800 total points
ID: 21857911
You can populate the dropdown boxes when the page is initially loaded, then when the page is submitted you can use the $_POST array to get the values and build an SQL query to select data from your database.

Put the code snippet I've posted into a file called search.php (or a different filename, and change the value in the form action field) and test it.  You will see the query being changed when the dropdown box is changed and submitted.



<?php
	
	if (isset($_POST['submitted'])) {
		$color = $_POST['color'];
		$query = "SELECT * FROM cars WHERE color = '$color'";
		//	Show the query on the page for debugging purposes.
		var_dump ($query);
		//	Do whatever you need to here.
	}
 
?>
<form action="search.php" method="post">
	<select name="color">
		<option value="red">Red</option>
		<option value="yellow">Yellow</option>
	</select>
	<input type="hidden" name="submitted" value="1" />
	<input type="submit" name="submit" value="Search" />
</form>

Open in new window

0
 
LVL 111

Assisted Solution

by:Ray Paseur
Ray Paseur earned 1200 total points
ID: 21858502
nbham29: Get yourself some good tutorial and reference material ASAP.  I recommend the books from SitePoint.  In particular, you need this one: http://www.sitepoint.com/books/phpmysql1/

The book matrix is here: http://www.sitepoint.com/books/library/

In the example code snippet above, the PHP syntax is not quite right, but once it is operational you are naked in the wilderness and at risk for a SQL injection attack.  To wit, if someone comes to your script with a post request that gives you this input, your data base is toast.  Don't think it won't happen.  There are bad guys all over the internet.

The SitePoint books can help you avoid those problems by designing your applications correctly from the outset.  I use them and depend on them.

Best of luck, ~Ray
$_POST[color] = "Red; DROP TABLE cars"

Open in new window

0
 
LVL 1

Expert Comment

by:morristhebear
ID: 21858937
Just as a note, I in no way intended for the snippet I provided above to be used in a production environment (hence it's messyness!).  I know it's open to XSS, etc.  I was merely throwing some hints in the general direction which nbham29 should be looking to.

I agree with you though Ray.  Designing something properly from the ground up to be secure is the best way...
0
 

Accepted Solution

by:
nbham29 earned 0 total points
ID: 21861681
I will check the book out and I will see how it works out. Thanks ray. I will look the book over it in the next little day or so and I will see how it works out.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
This article discusses four methods for overlaying images in a container on a web page
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to count occurrences of each item in an array.
Suggested Courses

610 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