Jump to content

Sallie_ann

New Members
  • Posts

    7
  • Joined

  • Last visited

    Never

Profile Information

  • Gender
    Not Telling

Sallie_ann's Achievements

Newbie

Newbie (1/5)

0

Reputation

  1. Hi, I am trying to create a select statement that will extract data from a MySQL database when the user selects a number of options from 4 drop down list boxes. Here is my code for $where1 (there are 4 in total). switch($_POST[\'company_size\']) { case 1: $where1 = \"company_size LIKE \'Small\'\"; break; case 2: $where1 = \"company_size LIKE \'Medium\'\"; break; case 3: $where1 = \"company_size LIKE \'Large\'\"; break; default: break; } This all works fine but I am not sure how to construct the where clause so that only one or up to all four options can be selected from the options. $whereclause = $where1; if($whereclause == \"\") { $whereclause = $where2; } else { if($whereclause2 == \"\") { $whereclause = $where3; } else { if($whereclause3 == \"\") { $whereclause = $where4; } else { if($where4 != \"\") { $whereclause .= \" AND \" . $where2 .= \" AND \" . $where3 .= \" AND \" . $where4; } } if($whereclause != \"\") { $whereclause = \" WHERE \" . $whereclause; } $sql = \"SELECT name, County, sector, company_size FROM beacon $whereclause\"; Anybody able to help?!
  2. It is now outputting; SELECT name, County, sector, company_size FROM beacon WHEREcompany_size BETWEEN 1 AND 9ANDProblem
  3. It is now outputting \"Problem\". My complete code is now as follows; mysql_select_db(\"beacon\",$db); if($_POST[\'company_size\'] == 1) $where = \'company_size BETWEEN 1 AND 9\'; if($_POST[\'company_size\'] == 2) $where = \'company_size BETWEEN 10 AND 49\'; if($_POST[\'company_size\'] == 3) $where = \'company_size BETWEEN 50 AND 250\'; if($_POST[\'County\'] == 1) $where1 = \"County LIKE \'Derbyshire%\'\"; if($_POST[\'County\'] == 2) $where1 = \"County LIKE \'Leicestershire%\'\"; if($_POST[\'County\'] == 3) $where1 = \"County LIKE \'Lincolnshire%\'\"; if($_POST[\'County\'] == 4) $where1 = \"County LIKE \'Northants%\'\"; if($_POST[\'County\'] == 5) $where1 = \"County LIKE \'Nottinghamshire%\'\"; $result = mysql_query(\"SELECT name, County, sector, company_size FROM beacon WHERE\". $where .\"AND\". $where1) or die(\"Problem\"); echo \"<table border=1 align=center>n\"; echo \"<tr><td>Name</td><td>County</td><td>Sector</td><td>Company Size</td></tr>n\"; while ($myrow = mysql_query($query)) { printf(\"<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>n\", $myrow[0], $myrow[1], $myrow[2], $myrow[3]); } echo \"</table>n\";
  4. I have changed my WHERE statements as you suggested and am now being given error messages for the final line in the following extract of code. :? if($_POST[\'County\'] == 1) $where1 = \"County LIKE \'Derbyshire%\'\"; if($_POST[\'County\'] == 2) $where1 = \"County LIKE \'Leicestershire%\'\"; if($_POST[\'County\'] == 3) $where1 = \"County LIKE \'Lincolnshire%\'\"; if($_POST[\'County\'] == 4) $where1 = \"County LIKE \'Northants%\'\"; if($_POST[\'County\'] == 5) $where1 = \"County LIKE \'Nottinghamshire%\'\"; $result = mysql_query(\"SELECT name, County, sector, company_size FROM beacon WHERE. $where .\"AND\". $where1) or die(\"Problem\");
  5. And I am now also getting error messages for the first line of my query $where1 = \'County LIKE \'Derbyshire%\' \'; :oops:
  6. Thanks for your help, my queries now read as follows; mysql_select_db(\"beacon\",$db); if($_POST[\'company_size\'] == 1) $where = \'company_size BETWEEN 1 AND 9\'; if($_POST[\'company_size\'] == 2) $where = \'company_size BETWEEN 10 AND 49\'; if($_POST[\'company_size\'] == 3) $where = \'company_size BETWEEN 50 AND 250\'; if($_POST[\'County\'] == 1) $where1 = \'County LIKE \'Derbyshire%\' \'; if($_POST[\'County\'] == 2) $where1 = \'County LIKE \'Leicestershire%\' \'; if($_POST[\'County\'] == 3) $where1 = \'County LIKE \'Lincolnshire%\' \'; if($_POST[\'County\'] == 4) $where1 = \'County LIKE \'Northants%\' \'; if($_POST[\'County\'] == 5) $where1 = \'County LIKE \'Nottinghamshire%\' \'; $result = mysql_query(\"SELECT name, County, sector, company_size FROM beacon WHERE. $where .\"AND\". $where1) or die(\"Problem\"); echo \"<table border=1 align=center>n\"; echo \"<tr><td>Name</td><td>County</td><td>Sector</td><td>Company Size</td></tr>n\"; while ($myrow = mysql_query($query)) { printf(\"<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>n\", $myrow[0], $myrow[1], $myrow[2], $myrow[3]); } echo \"</table>n\"; I am being given the following error message referring to the first echo. \"Parse error: parse error, unexpected T_STRING\" And I\'m unsure why!
  7. Hi... I have connected to a MySQL database that contains information on various companies. I have created a HTML form with 4 drop down list boxes that have static information to (hopefully) search the database including company size, location, sector, etc. The user will select items from the drop down list boxes and click go to retrieve the required data. For example, a user may want to search for all medium sized companies in Leicester in the IT sector. The PHP code I have so far is as follows; mysql_select_db(\"beacon\",$db); if($_POST[\'company_size\'] == 1) $where = \'company_size BETWEEN 1 AND 9\'; if($_POST[\'company_size\'] == 2) $where = \'company_size BETWEEN 10 AND 49\'; if($_POST[\'company_size\'] == 3) $where = \'company_size BETWEEN 50 AND 250\'; if($_POST[\'County\'] == 1) $where1 = \'County LIKE Derbyshire\'; if($_POST[\'County\'] == 2) $where1 = \'County LIKE Leicestershire\'; if($_POST[\'County\'] == 3) $where1 = \'County LIKE Lincolnshire\'; if($_POST[\'County\'] == 4) $where1 = \'County LIKE Northants\'; if($_POST[\'County\'] == 5) $where1 = \'County LIKE Nottinghamshire\'; $result = mysql_query(\"SELECT name, County, sector, company_size \" . \"FROM beacon \" . \"WHERE\". $where .\"AND\". $where1); echo \"<table border=1 align=center>n\"; echo \"<tr><td>Name</td><td>County</td><td>Sector</td><td>Company Size</td></tr>n\"; while ($myrow = mysql_query($query)) { printf(\"<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>n\", $myrow[0], $myrow[1], $myrow[2], $myrow[3]); } echo \"</table>n\"; An example of my HTML drop down list code is as follows; <select name=\"company_size\"> <option value=\"0\" selected>Select Company Size</option> <option value=\"1\">1 - 9</option> <option value=\"2\">10 - 49</option> <option value=\"3\">50 - 250</option> </select> No data is being output from the database except the table column headings. I managed to output all the database data in the table before I entered the query so I know the problem lies here. Any help would be really appreciated. Sallie-ann
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.