Note that there are some explanatory texts on larger screens.

plurals
  1. POusing php form multiple select in a mysql query
    text
    copied!<p>I am trying to query using the results of a search form. One of the fields I have is "state". I would like the user to be able to select multiple states and then get a list of results reflecting all the states selected. This is the code I have used for a single select form element for state. It reflects selecting all records if no selection is made for state, as well as sex, sale and salename:</p> <pre><code>$query = "SELECT *, DATE_FORMAT(saledate,'%m/%d/%Y') as saledatex FROM sdusa WHERE"; if (!empty($state)){ $query .= " state = '$state' AND"; } if (!empty($sex)){ $query .= " sex = '$sex' AND"; } if (!empty($sale)){ $query .= " breeder = '$sale' AND"; } if (!empty($salename)){ $query .= " salename LIKE '%$salename%' AND"; } $query .= " saledate &gt;= $salestart AND saledate &lt;= $saleend AND birthdate &gt;= $birthstart AND birthdate &lt;= $birthend AND actbw &lt;= $actbw1 AND adj205ww &gt;= $adj205ww1 AND adj365yw &gt;= $adj365yw1 AND rea &gt;= $rea1 AND imf &gt;= $imf1 AND sc &gt;= $sc1 $result = mysql_query($query) or die('Error, query failed'); </code></pre> <p>How would I adjust the query to get results from a multiple select list for state that would give me a list of results that reflects all states selected? I think I need to add a "foreach" statement possibly or a counter - but since I am newer to php am not real sure of the code.</p> <p>Current output looks like this:</p> <pre><code> &lt;table align='center' width='780' border='1' cellpadding='0' cellspacing='0' bordercolor='#000000'&gt; &lt;tr&gt; &lt;td width='55' class='s11'&gt;&lt;div align='center'&gt;Reg #&lt;/div&gt;&lt;/td&gt; &lt;td width='100' class='s11'&gt;&lt;div align='center'&gt;Name&lt;/div&gt;&lt;/td&gt; &lt;td width='135' class='s11'&gt;&lt;div align='center'&gt;Sire&lt;/div&gt;&lt;/td&gt; &lt;td width='125' class='s11'&gt;&lt;div align='center'&gt;MGS&lt;/div&gt;&lt;/td&gt; &lt;td width='180' class='s11'&gt;&lt;div align='center'&gt;Breeder&lt;/div&gt;&lt;/td&gt; &lt;td width='25' class='s11'&gt;&lt;div align='center'&gt;St&lt;/div&gt;&lt;/td&gt; &lt;td width='60' class='s11'&gt;&lt;div align='center'&gt;Sale Date&lt;/div&gt;&lt;/td&gt; &lt;td width='25' class='s11'&gt;&lt;div align='center'&gt;BW&lt;/div&gt;&lt;/td&gt; &lt;td width='25' class='s11'&gt;&lt;div align='center'&gt;WW&lt;/div&gt;&lt;/td&gt; &lt;td width='25' class='s11'&gt;&lt;div align='center'&gt;YW&lt;/div&gt;&lt;/td&gt; &lt;td width='25' class='s11'&gt;&lt;div align='center'&gt;M&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt; &lt;?php while($row = mysql_fetch_array($result)) { echo "&lt;tr height='20'&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;&lt;a href='sdindselect.php?registration_num=". $row ['registration_num'] ."'&gt;" . $row['registration_num'] . "&lt;/a&gt; &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['name'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['sire'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['sire3'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['breeder'] . $row['salname'] ." &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['salestate'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['saledatex'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['bw'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['ww'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['yw'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;td class='s11'&gt;&lt;div align='center'&gt;" . $row['milk'] . " &lt;/div&gt;&lt;/td&gt;"; echo "&lt;/tr&gt;"; } ?&gt; </code></pre> <p>Thanks for the help!</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload