Stuart Felenstein wrote:
I am creating a database search form and results.
Running into a problem though.
I have two form elements, both that are fed by tables
that have int values (1, 2 , etc)

my sql statement is such:

SELECT vendorjobs.PostStart, vendorjobs.JobTitle,
vendorjobs.Industry, vendorjobs.VendorID,
vendorjobs.LocationCity, vendorjobs.TaxTerm FROM
vendorjobs WHERE vendorjobs.Industry = '$Ind' AND
Date_Sub(Curdate(), interval '$Days' day) <= PostStart
"

But if the user decides to only use one of the
elements, then I don't want the query to return
nothing because of the "And" in the where clause so I
have these 2 statements that set a default value
(shown here as 0 in the event one of the two elements
aren't selected:  (Having no luck as the form still
only works correctly if I've set both elements)

$Ind = "0";
if (isset($_POST['Ind'])) {
  $Ind = (get_magic_quotes_gpc()) ? $_POST['Ind'] :
addslashes($_POST['Ind']);
}
$Days = "0";
if (isset($_POST['Days'])) {
  $Days = (get_magic_quotes_gpc()) ? $_POST['Days'] :
addslashes($_POST['Days']);

$where = array();

if ( isset($_POST['Ind']) ) {
$where[] = 'vendorjobs.Industry = ' . (int) $_POST['Ind'];
}
if ( isset($_POST['Days']) ) {
$where[] = 'Date_Sub(Curdate(), interval ' . (int) $_POST['Days'] . ' day) <= PostStart';
}


$sql = '
 SELECT ...
   FROM vendorjobs
  WHERE ' . implode( ' AND ', $where );

--
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to