Re: Sql/PHP question

From: Date: Wed, 16 Apr 2003 18:21:43 +0000
Subject: Re: Sql/PHP question
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-144167@lists.php.net to get a copy of this message
> I am creating a page that will generate a report. On the first page I > have drop down menus that you can select what you want in the report. > The table, department, and location. > > So in the query, I have this: > > $query = "select * from $database_table where department = $department > and location = $location"; > > Now this works fine if in the department menu I select a department, > and in the location menu I select a location, but I also want to be > able to show all. For instance I want to create a report on all items > for a single department in all locations. Is there such a thing as a > wildcard within a where statement? location = * doesn't work of course, > but what else could I use. Remember, queries are just strings. Create the right string to suit your needs. If $location is set, then add it to your where clause, if $department is set, add it, too. if(isset($location)) { $where[] = " location = $location "; } if(isset($department)) { $where[] = " department = $department "; } $query = "select * from $database_table where " . implode(' and ', $where); You may want to use empty() instead of isset(), or check for a certain value, that's up to you. Are you sure you don't need quotes around $department and $location in your query? Are those integer or string columns? ---John Holmes...

« previous php.general (#144167) next »