Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New Coder
    Join Date
    Nov 2011
    Thanked 0 Times in 0 Posts

    Dynamic dropdown list


    i need a two dropdown lists where first (manufacturer) populates second (models) and when submit button is clicked it should lead to page of model, like this: index.php?p=view&m=shop&id=<certain_id>

    all data is in one table and i can't change that: id, manufacturer, model, price, description

    is there any example of something like this or someone knows how to do that?

    thank you

  2. #2
    New Coder
    Join Date
    Dec 2012
    Thanked 17 Times in 17 Posts
    You have a couple options:

    1) Ajax

    You can use Ajax to onChange(this.value) of the manufacturer select, query your database with "WHERE `manufacturer`= 'value.passed.to.js.function'". Then populating your second dropdown with the return results.

    2) Preload every list.

    This is the option I would use. If I'm a user on your site and I have to wait X seconds every time I want to see a new list of models, I'm not happy.

    I would use PHP to query your database for (unfortunately) your entire table (unless you know you don't need a few rows) for the `id`, `manufacturer`, and `model` columns (unless you need more).

    Using those results, I would print them out into a javascript array and use the onChange() function of the manufacturer select to call for the respective array, which would populate the model select.

    Quote Originally Posted by 367
    when submit button is clicked it should lead to page of model, like this: index.php?p=view&m=shop&id=<certain_id>
    <form method="get" action="index.php?p=view&m=shop">
    <select name="id">
    <option value="mysql.id">mysql.model</option>

  3. #3
    Regular Coder Redcoder's Avatar
    Join Date
    May 2012
    Thanked 49 Times in 48 Posts
    That can be easily done with Javascript. You need to use Client-Side Coding for that then use event triggers where selecting one option will trigger different values to be loaded on the other Drop-Down list.

    Jquery can help you if you use the .change() trigger or .click()



    Of course you need to know Jacascript to do that one.

    If it is a particularly long Dropdown, you may combine it with Ajax and load it dynamically using a back-end PHP script that fetches Database data.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts