PHP MySQL Multiple Column Dynamic Dropdown


#1

Greetings all,

I am currently in the process of setting up a e-commerce suite on a client
website but as I am a PHP MySQL newbie, I have come accross a few problems. I have a product page which has static information on it. I have a form with
a dropdown box. I want this dropdown box to show data from three different columns in a MySQL database table. These would be, Colour, Size and Price.
I have the database setup and running with Apache, PHP and MySQL all
installed, configured and fully operational.

I am using Dreamweaver MX 2004 and have already setup the dropdown on the
page using the DW insert List/Menu feature. I have been able to select what
dynamic data I would like to show by use of a recordset I have already setup
with all the relevant columns.

The first problem I have is the DW insert list/menu feature only allows me to show one column of data. I want to show all three one after the other in
the same dropdown box. I am sure this is possible because I have done this
using SQL in MS Access. I am unsure how this is done in PHP MySQL.

The second problem I have is that I would like the selected data from the
dropdown to be transported to the next page which will be the Review Cart
page. I have read on forums that the use of variables would do this for me
but am unsure as to how I would implement them into dropdown on the product page.

The third problem I have is I do not quite understand how the dropdown would only show the Colour, Size and Price options for the product of that product page. I have a dynamic dropdown tutorial which states that a parents and child lists would be needed, but seeing as I am only having one dropdown box, I think the child list would not be necessary.

Would I need to put a parentID column in the database table and give an ID for each set of options? for example, Bracelet would have Silver, Gold and Silver Plate.

Would I need to put an ID of 1 for each of these and then go on to put 2 for the next set of options for another product and 3 for the next and so on?

Any help would be much appreciated.

Thank-you all,

Regards,

Rue


#2

I don’t know how to do this in Dreamweaver but here is the basic ideas on how to do it with PHP.

basic logic

select the 3 columns you want to show from the database (See MySQL Manual - SELECT)
count the number of results returned (See PHP Manual - mysql_num_rows() )
start your drop down list
use a "for" loop to cycle through the results (See PHP Manual - control structures)
    move the 3 columns into 1 string variable ($hold = "$col1, $col2, $col3";)
    insert the string variable into the drop down list as an option
close the for loop

Now depending on the method you used on the form you access the data with either $_POST or $_GET after the form is submitted. You can also break up the string back into the individual parts using the PHP explode() function (delimiter is the comma).

Hope that helps.

References:
http://dev.mysql.com/doc/mysql/en/SELECT.html
http://www.php.net/manual/en/function.m … m-rows.php
http://www.php.net/manual/en/language.c … ctures.php
http://www.php.net/variables.predefined
http://www.php.net/manual/en/function.explode.php