I actually created an array of different conditions like:
$ConditionsArray = array("Var1 > 500","Var2 < 1800","ID=43");

and then:
$Conditions = join(" AND ", $ConditionsArray);

This constructs:
$Conditions = "Var1 > 500 AND Var2 < 1800 AND ID=43";

<shrug> Worked well for me.

Jonathan Hilgeman

-----Original Message-----
From: JD Daniels [mailto:[EMAIL PROTECTED]]
Sent: Thursday, April 19, 2001 10:41 AM
To: [EMAIL PROTECTED]
Subject: [PHP-DB] Advice On Building Dynamic MySQL Queries


I am building a query from a search form. This is the code I have now:

if (!empty($whereclause))
         {
                $whereclause=urldecode($whereclause);
                 $whereclause=stripslashes($whereclause);
         }

         extract($HTTP_POST_VARS);

                 if (!empty($Price))
                 {
                        if(empty($whereclause))
                         {
                                 $whereclause.="Price$Price";
                         }
                         else
                         {
                                $whereclause.=" AND 'Price $Price";
                        }
                 }
                if (!empty($Area))
                 {
                        if(empty($whereclause))
                         {
                                 $whereclause.="Area LIKE '$Area'";
                         }
                         else
                         {
                                $whereclause.=" AND Area LIKE '$Area'";
                        }
                 }
                if (!empty($MLS_Number))
                 {
                        if(empty($whereclause))
                         {
                                 $whereclause.="MLS_Number LIKE
'$MLS_Number'";
                         }
                         else
                         {
                                $whereclause.=" AND MLS_Number LIKE
'$MLS_Number'";
                        }
                 }
                if (!empty($File_Number))
                 {
                        if(empty($whereclause))
                         {
                                 $whereclause.="File_Number LIKE
'$File_Number'";
                         }
                         else
                         {
                                $whereclause.=" AND File_Number LIKE
'$File_Number'";
                        }
                 }
                if (!empty($Description))
                 {
                        if(empty($whereclause))
                         {
                                 $whereclause.="Description LIKE
'%$Description%'";
                         }
                         else
                         {
                                $whereclause.=" AND Description LIKE
'%$Description%'";
                        }
                 }


         $query="SELECT
lid,Price,Address,Area,Description,File_Number,Realtor_First_name FROM
listings LEFT JOIN areas ON (listings.aid=areas.aid) LEFT JOIN realtors ON
(listings.rid1=realtors.rid) LEFT JOIN prop_types ON
(listings.ptid=prop_types.ptid) LEFT JOIN prop_styles ON
(listings.psid=prop_styles.psid) WHERE $whereclause order by Price ASC";
         #echo "$query<br>";
         if(empty($whereclause))
         {
                echo"<center><h2>You Did Not Specify Anything To Search
For!</h2><br>
                 <a href=\"javascript:history.back()\">Back</a></center>";
         }
         else
         {
                 $results=$CONNECTION->Execute("$query") or
DIE($CONNECTION->ErrorMsg());
                $results__numRows=0;
                $results__totalRows=$results->RecordCount();

                     echo $results->Fields("aid");
                     echo "$query<br><br>";
                         while ($results__numRows<$results__totalRows)
                         {
                                    #<SNIP> Display stuff
                                  $results__numRows++;
                                    $results->MoveNext();
                         }

                 $results->Close();
         }

It Just became apparent that I am going to need to add a whole bunch more
search criteria.. Does anyone have any advice/suggestions for getting rid of
all those if statements?

JD


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to