How Can I do this?

I have a website which is "Professionals Directory". I have separate website for each professional. On the main  "Professionals Directory"website, I like the visitor to be able to choose the right professional by three drop downs. For example the first dropdown will list the tyoe of profession. For example
Second dropdown will ask the visitor to enter his Zipcode, so that it will list the plumber or carpenter in his area of residence.

The third dropdown will be Language. Here the visitor will select the language spoken e.g. English, Chinese, Portugese etc. by the professional, so that a Chinese speaking customer can look for a tradesman who speaks the language.

Who is Participating?
DavidBirch2dotComConnect With a Mentor Commented:
for the basics:

you needs a database with the professionals and info about them, Name, Profession, Language, Address (watch you dont give this out elese the experts might not like u :) )

you would then need to query that database using the selections of the list box's which would be populated from the database - have a look @ ASP to get this done - its probably the best language for this

Right, a database is the best option for storing the directory information.  Then you will use a scripting language like ASP or PHP to establish an interaction between your web pages & forms and the database.  Your choice as to which scripting language should be based on which one you are more familiar with (if any), what languages your hosting company supports (if you already have a website and hosting).  ASP and PHP are very similiar in terms of function, so I don't agree with David that ASP is better.

For a database, you can use MySQL with either language, although it is more commonly associated with PHP.  It's an open source (ie. free) database that works extremely well and is very popular.  There are other choices, though such as PostgreSQL (also open source - it's supposed to be very good, but I've never used it myself), MS SQL, or even Access, although it probably isn't adequate for what you are trying to do.

Whichever scripting language and database you use, the process is very similar.  The user will select a profession, zip code, and language preference and submit the form.  The scripting language will query the database and return any entries that the match the criteria selected by the user.  It can also create a dynamic page based on and listing these results.  Alll you have to do is choose a scripting language and database and then learn how to program the pages you want   :)
msahibAuthor Commented:
Dear David:
Thank you so much for your help. I will try!

Have a nice day.

Improve Your Query Performance Tuning

In this FREE six-day email course, you'll learn from Janis Griffin, Database Performance Evangelist. She'll teach 12 steps that you can use to optimize your queries as much as possible and see measurable results in your work. Get started today!

msahibAuthor Commented:
Dear Hume:

I truly appreciate your detailed response. Could you please suggest to me a website where I can learn more on this, from the basics?

Much obliged.

humeniukConnect With a Mentor Commented:
Here are some tutorials that should get you started:

PHP tutorial (you can skip the installation stuff if you're using a hosting company):

ASP Tutorial (again, you may not need the installation info):

Using PHP with MySQL:

There is a lot of great PHP info on the official PHP website (see, including a basic overview at  The MySQL website is and it also includes an introductory tutorial:

Remember that whichever solution you choose, it is going to take some time to learn how to use them properly, but it is well worth the effort.  Also recommended is, which features numerous PHP & ASP (and other) scripts that are available for use, most of them free.  You can often find a script that does what you are looking for or one you can modify for your purposes, saving you a lot of time.

I hope this helps.
msahibAuthor Commented:
Much obliged for all this good info.

Glad to help out.
SlayerXCommented: is one of the best for your needs, it offers most solutions for your problems.
Hi, Check if this is what you are looking for? Just cut and paste this into a HTML file and view it in a browser.

<FORM name="isc">
<table border="0" cellspacing="0" cellpadding="0">
  <tr align="center">
    <td nowrap height="11"> &nbsp;

<select name="example" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>---Select1-------------</option>

<select name="stage2" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value=" " selected> </option>
<option value=" " selected>---Select2--------------</option>

<select name="stage3" size="1" onChange="redirect2(this.options.selectedIndex)">
<option value=" " selected> </option>
<option value=" " selected>---Select3----------------</option>


var groups=document.isc.example.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()

group[0][0]=new Option("---Select2---"," ");

group[1][0]=new Option("Now Select This One"," ");
group[1][1]=new Option("Web Design","47");
group[1][2]=new Option("JSP","46");
group[1][3]=new Option("EJB","45");

group[2][0]=new Option("Now Select This One"," ");
group[2][1]=new Option("Design","115");
group[2][2]=new Option("Development","116");

var temp=document.isc.stage2

function redirect(x){
for (m=temp.options.length-1;m>0;m--)
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)

var secondGroups=document.isc.stage2.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++)  {
secondGroup[i]=new Array(group[i].length)
for (j=0; j<group[i].length; j++)  {
secondGroup[i][j]=new Array()  }}

secondGroup[0][0][0]=new Option("---Select 3---"," ");
secondGroup[1][0][0]=new Option("---Select 3---"," ");
secondGroup[1][1][0]=new Option("Now Select Associate"," ");
secondGroup[1][1][1]=new Option("Uday","");
secondGroup[1][1][2]=new Option("Latha","");
secondGroup[1][1][3]=new Option("Anup","");

secondGroup[1][2][0]=new Option("Now Select Associate"," ");
secondGroup[1][2][1]=new Option("Dinesh","");
secondGroup[1][2][2]=new Option("Mohan","");
secondGroup[1][2][3]=new Option("Krishnakumar","");

secondGroup[1][3][0]=new Option("Now Select Associate"," ");
secondGroup[1][3][1]=new Option("Bibil","");
secondGroup[1][3][2]=new Option("Bobby","");

secondGroup[2][0][0]=new Option("---Select 3---"," ");
secondGroup[2][1][0]=new Option("Now Select Associate"," ");
secondGroup[2][1][1]=new Option("Piby","");
secondGroup[2][1][2]=new Option("Shakthi","");
secondGroup[2][1][3]=new Option("Rakesh","");
secondGroup[2][1][4]=new Option("Bijay","");

secondGroup[2][2][0]=new Option("Now Select Associate"," ");
secondGroup[2][2][1]=new Option("George","");
secondGroup[2][2][2]=new Option("Sethu","");

var temp1=document.isc.stage3
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
for (i=0;i<secondGroup[document.isc.example.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(secondGroup[document.isc.example.options.selectedIndex][y][i].text,secondGroup[document.isc.example.options.selectedIndex][y][i].value)

function redirect2(z){




You can sometimes go to and type "html scripts"  or
"form scripts" if you want to explore those areas of your interest.
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.