Re: Re: counting check boxes

From: Date: Mon, 12 May 2003 11:49:42 +0000
Subject: Re: Re: counting check boxes
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-147291@lists.php.net to get a copy of this message
A querystring like this will allways fail: where id=154 and id=198 and id=505 and id=809 and the ID can never be 154, 198, 505 and 809 at the same time. You can either use: 1. where id=154 or id=198 or id=505 or id=809 or 2. where id IN (154,198,505,809) The second method is most times the easiest. I'm not yet familiar with PHP but only with ColdFusion. I used to do the checking/selecting of multiple options in a listbox. The selected ones were passed in a sort of list. I could put that list directly in the query statement: where id IN ($selectedIDlist) > Hi guys, > Thanks for replying. > > Yes, I know its an ugly form and its pretty unusual... > but I am just trying to copy the functionality of this site: > > http://hostfilter.com/plans_showresults.asp?price=30&diskspace=5&plat=All&Su > bmit=Filter+It+%21&ps=20 > If you run the above query you will see a row of checkboxes and at the > bottom a way to compare plans...thats exactly what i want to do... > After going through their source i see their checkboxes are all named > "planid" so i did the same for mine... > > What do you suggest to get the same functionality? > > Kindly reply, > -Ryan > > > ----- Original Message ----- > From: "Paul Chvostek" <paul+php@it.ca> > To: "Ryan A" <ryan@jumac.com> > Cc: <php-general@lists.php.net> > Sent: Saturday, May 10, 2003 8:55 PM > Subject: Re: counting check boxes > > >> On Sat, May 10, 2003 at 08:35:25PM +0200, Ryan A wrote: >>> >>> I have run into a little problem, its hard to explain so am giving you > the >>> whole code below: >>> I am getting a string to countchecks.php which is like: >>> countchecks.php?id=154&id=198&id=505&id=809&id=1100 >> >> Ugh. >> >> If you're stuck with this format, then you're going to have to parse >> $_SERVER['QUERY_STRING'] manually, because repetitions of the same >> variable will overwrite each other. So $_GET['id'] will be 1100, and >> the other values will be lost. >> >>> taking that I have to format it into >>> >>> select * from asdf where id=154 and id=198 and id=505 and id=809 and >>> id=1100; >>> >>> How can i do that? >> >> Why would you want to? How can 'id' have multiple values? >> >> Anyway, it would be something like: >> >> foreach (explode('&',$_SERVER['QUERY_STRING']) as $this) { >> list($junk,$value)=explode('=',$this); >> if ($junk=="id") $q.=" AND id=$value"; >> } >> $q="SELECT * FROM asdf WHERE" . substr($q,5) . ";"; >> >>> Below is the form that i am using... >> ... >> >> It's an ugly form. You'd have an easier time if you put the checkbox >> entities into an array, with: >> >> <form method="get"> >> ... >> <input type="checkbox" name="id[]" value="154">154 >> <input type="checkbox" name="id[]" value="198">198 >> <input type="checkbox" name="id[]" value="202">202 >> <input type="checkbox" name="id[]" value="505">505 >> <input type="checkbox" name="id[]" value="809">809 >> <input type="checkbox" name="id[]" value="1100">1100 >> <input type="submit" name="Submit" value="Submit form"> >> </form> >> >> and processed it with: >> >> foreach ($id as $value) { >> $q.=" AND id=" . $value; >> } >> $q="SELECT * FROM asdf WHERE" . substr($q,5) . ";"; >> >> -- >> Paul Chvostek <paul@it.ca> >> Operations / Abuse / Whatever >> it.canada, hosting and development >> http://www.it.ca/ >> >

« previous php.general (#147291) next »