Search code examples
phpurlurlvariables

How to pass multiple values of a variable through a URL


I've an application that I'm building, and I'm stuck at a certain point.

I'm trying to pass a variable that has multiple values. So my URL will look like:

localhost/report.php?variable=value1, value2, value3

Problem is I'm not sure how I can do this. The variables are to be used to retrieve data from a database. I'm using PHP and no Javascript.

Any help would be great!

EDIT:
Here is the HTML I have in my page where the variables are selected:

<select name="types" size="19" multiple>
    <option value="all" selected>All Types</option>
    <option value="book" selected>Books</option>
    <option value="cd" selected>CD</option>
</select>

So a user could select Books and CD, and I would need to pass these two values in the "types" variable.


Solution

  • As noted at https://stackoverflow.com/a/2407401/1265817, you can use this method.

    If you want PHP to treat $_GET['select2'] as an array of options just add square brackets to the name of the select element like this: <select name="select2[]" multiple …

    Then you can acces the array in your PHP script

    <?php
    header("Content-Type: text/plain");
    
    foreach ($_GET['select2'] as $selectedOption)
      echo $selectedOption."\n";