This is a discussion on Re: Query Help within the MySQL forums, part of the Database Server Software category; --> $query = "SELECT DISTINCT names FROM $table Order by names"; $result = mysql_query($query); In the code above, 'Order by' ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| $query = "SELECT DISTINCT names FROM $table Order by names"; $result = mysql_query($query); In the code above, 'Order by' works very well when not used in conjunction with other query-able items but how about when used in a query where other possible choices are included? How do I use 'Order by' in the query below where it will only act on 'names' when "All" is selected and otherwise, not really be active during the query as in the code below? I'm using PHP to access MySQL. Thanks $query = "SELECT * FROM $table WHERE 1 = 1 "; if($year != "All") $query .= "and year = '".$year."'"; if($status != "All") $query .= "and status = '". $status."'"; if($names != "All") $query .= "and names = '".$names."'"; $result = mysql_query($query); |
| |||
| "Darko" <darko.maksimovic@gmail.com> wrote in message news:1194548559.891114.33150@v23g2000prn.googlegro ups.com... > On Nov 8, 4:34 pm, "Steve" <no....@example.com> wrote: >> "Captain Paralytic" <paul_laut...@yahoo.com> wrote in message >> >> news:1194534736.193031.304830@q5g2000prf.googlegro ups.com... >> >> >> >> > On 8 Nov, 14:13, jc...@lycos.com wrote: >> >> $query = "SELECT DISTINCT names >> >> FROM $table >> >> Order by names"; >> >> $result = mysql_query($query); >> >> >> In the code above, 'Order by' works very well when not used in >> >> conjunction with other query-able items but how about when used in a >> >> query where other possible choices are included? How do I use 'Order >> >> by' in the query below where it will only act on 'names' when "All" >> >> is >> >> selected and otherwise, not really be active during the query as in >> >> the code below? I'm using PHP to access MySQL. Thanks >> >> >> $query = "SELECT * >> >> FROM $table >> >> WHERE 1 = 1 "; >> >> if($year != "All") $query .= "and year = '".$year."'"; >> >> if($status != "All") $query .= "and status = '". >> >> $status."'"; >> >> if($names != "All") $query .= "and names = '".$names."'"; >> >> $result = mysql_query($query); >> >> > ORDER BY names >> >> just a note about legibility here... >> >> $sql[] = " >> SELECT * >> FROM " . $table . " >> WHERE 1 = 1 >> "; >> if ($year != 'ALL') >> { >> $sql[] = " AND year = '" . $year . "'";} >> >> if ($status != 'ALL') >> { >> $sql[] = " AND status = '" . $status. "'";} >> >> if ($names != 'ALL') >> { >> $sql[] = " AND names = '" . $names. "'";} >> >> $sql = implode("\r\n", $sql); >> >> that avoide the problem of forgetting to put a space between the if'd >> conditions/criterion. note, i put the spaces before 'and' simply so that >> when i go to debug the current sql being run, it echos nice and formatted >> in >> the browser. > > You and your formatting again > all newbies to > proper formatting, eh? he, he, he, he! well, actually the formatting is just a bonus. some db's, even though they strip out spaces themselves when parsing, will caugh up errors if the clauses run together...which happens the way the op wrote it...where 1=1and year='2007'and status=... building $sql as an array and then imploding it back on itself avoids the problem and also makes for more clearly defined if () cases. but, i'm still chuckling. that was good. |
| |||
| Steve wrote: > "Captain Paralytic" <paul_lautman@yahoo.com> wrote in message > news:1194534736.193031.304830@q5g2000prf.googlegro ups.com... >> On 8 Nov, 14:13, jc...@lycos.com wrote: >>> $query = "SELECT DISTINCT names >>> FROM $table >>> Order by names"; >>> $result = mysql_query($query); >>> >>> In the code above, 'Order by' works very well when not used in >>> conjunction with other query-able items but how about when used in >>> a query where other possible choices are included? How do I use >>> 'Order by' in the query below where it will only act on 'names' >>> when "All" is >>> selected and otherwise, not really be active during the query as in >>> the code below? I'm using PHP to access MySQL. Thanks >>> >>> $query = "SELECT * >>> FROM $table >>> WHERE 1 = 1 "; >>> if($year != "All") $query .= "and year = '".$year."'"; >>> if($status != "All") $query .= "and status = '". >>> $status."'"; >>> if($names != "All") $query .= "and names = '".$names."'"; >>> $result = mysql_query($query); >> >> ORDER BY names > > just a note about legibility here... > > $sql[] = " > SELECT * > FROM " . $table . " > WHERE 1 = 1 > "; > if ($year != 'ALL') > { > $sql[] = " AND year = '" . $year . "'"; > } > if ($status != 'ALL') > { > $sql[] = " AND status = '" . $status. "'"; > } > if ($names != 'ALL') > { > $sql[] = " AND names = '" . $names. "'"; > } > $sql = implode("\r\n", $sql); > > that avoide the problem of forgetting to put a space between the if'd > conditions/criterion. note, i put the spaces before 'and' simply so > that when i go to debug the current sql being run, it echos nice and > formatted in the browser. Please learn to post replies to the correct post. I do not need advise on formatting, the OP may do! |
| |||
| "Paul Lautman" <paul.lautman@btinternet.com> wrote in message news:5phaqhFrfrejU1@mid.individual.net... > Steve wrote: >> "Captain Paralytic" <paul_lautman@yahoo.com> wrote in message >> news:1194534736.193031.304830@q5g2000prf.googlegro ups.com... >>> On 8 Nov, 14:13, jc...@lycos.com wrote: >>>> $query = "SELECT DISTINCT names >>>> FROM $table >>>> Order by names"; >>>> $result = mysql_query($query); >>>> >>>> In the code above, 'Order by' works very well when not used in >>>> conjunction with other query-able items but how about when used in >>>> a query where other possible choices are included? How do I use >>>> 'Order by' in the query below where it will only act on 'names' >>>> when "All" is >>>> selected and otherwise, not really be active during the query as in >>>> the code below? I'm using PHP to access MySQL. Thanks >>>> >>>> $query = "SELECT * >>>> FROM $table >>>> WHERE 1 = 1 "; >>>> if($year != "All") $query .= "and year = '".$year."'"; >>>> if($status != "All") $query .= "and status = '". >>>> $status."'"; >>>> if($names != "All") $query .= "and names = '".$names."'"; >>>> $result = mysql_query($query); >>> >>> ORDER BY names >> >> just a note about legibility here... >> >> $sql[] = " >> SELECT * >> FROM " . $table . " >> WHERE 1 = 1 >> "; >> if ($year != 'ALL') >> { >> $sql[] = " AND year = '" . $year . "'"; >> } >> if ($status != 'ALL') >> { >> $sql[] = " AND status = '" . $status. "'"; >> } >> if ($names != 'ALL') >> { >> $sql[] = " AND names = '" . $names. "'"; >> } >> $sql = implode("\r\n", $sql); >> >> that avoide the problem of forgetting to put a space between the if'd >> conditions/criterion. note, i put the spaces before 'and' simply so >> that when i go to debug the current sql being run, it echos nice and >> formatted in the browser. > > Please learn to post replies to the correct post. I do not need advise on > formatting, the OP may do! first of all, it's a thread, dude. second, it's usenet. like it, or lump it. |
| |||
| On 8 Nov, 20:45, "Paul Lautman" <paul.laut...@btinternet.com> wrote: > Steve wrote: > > "Captain Paralytic" <paul_laut...@yahoo.com> wrote in message > >news:1194534736.193031.304830@q5g2000prf.googlegr oups.com... > >> On 8 Nov, 14:13, jc...@lycos.com wrote: > >>> $query = "SELECT DISTINCT names > >>> FROM $table > >>> Order by names"; > >>> $result = mysql_query($query); > > >>> In the code above, 'Order by' works very well when not used in > >>> conjunction with other query-able items but how about when used in > >>> a query where other possible choices are included? How do I use > >>> 'Order by' in the query below where it will only act on 'names' > >>> when "All" is > >>> selected and otherwise, not really be active during the query as in > >>> the code below? I'm using PHP to access MySQL. Thanks > > >>> $query = "SELECT * > >>> FROM $table > >>> WHERE 1 = 1 "; > >>> if($year != "All") $query .= "and year = '".$year."'"; > >>> if($status != "All") $query .= "and status = '". > >>> $status."'"; > >>> if($names != "All") $query .= "and names = '".$names."'"; > >>> $result = mysql_query($query); > > >> ORDER BY names > > > just a note about legibility here... > > > $sql[] = " > > SELECT * > > FROM " . $table . " > > WHERE 1 = 1 > > "; > > if ($year != 'ALL') > > { > > $sql[] = " AND year = '" . $year . "'"; > > } > > if ($status != 'ALL') > > { > > $sql[] = " AND status = '" . $status. "'"; > > } > > if ($names != 'ALL') > > { > > $sql[] = " AND names = '" . $names. "'"; > > } > > $sql = implode("\r\n", $sql); > > > that avoide the problem of forgetting to put a space between the if'd > > conditions/criterion. note, i put the spaces before 'and' simply so > > that when i go to debug the current sql being run, it echos nice and > > formatted in the browser. > > Please learn to post replies to the correct post. I do not need advise on > formatting, the OP may do! Definitely not, but some advice on spelling (and punctuation) wouldn't go amiss. He he he ;-) |
| |||
| "strawberry" <zac.carey@gmail.com> wrote in message news:1194560072.097968.186940@s15g2000prm.googlegr oups.com... > On 8 Nov, 20:45, "Paul Lautman" <paul.laut...@btinternet.com> wrote: >> Steve wrote: >> > "Captain Paralytic" <paul_laut...@yahoo.com> wrote in message >> >news:1194534736.193031.304830@q5g2000prf.googlegr oups.com... >> >> On 8 Nov, 14:13, jc...@lycos.com wrote: >> >>> $query = "SELECT DISTINCT names >> >>> FROM $table >> >>> Order by names"; >> >>> $result = mysql_query($query); >> >> >>> In the code above, 'Order by' works very well when not used in >> >>> conjunction with other query-able items but how about when used in >> >>> a query where other possible choices are included? How do I use >> >>> 'Order by' in the query below where it will only act on 'names' >> >>> when "All" is >> >>> selected and otherwise, not really be active during the query as in >> >>> the code below? I'm using PHP to access MySQL. Thanks >> >> >>> $query = "SELECT * >> >>> FROM $table >> >>> WHERE 1 = 1 "; >> >>> if($year != "All") $query .= "and year = '".$year."'"; >> >>> if($status != "All") $query .= "and status = '". >> >>> $status."'"; >> >>> if($names != "All") $query .= "and names = '".$names."'"; >> >>> $result = mysql_query($query); >> >> >> ORDER BY names >> >> > just a note about legibility here... >> >> > $sql[] = " >> > SELECT * >> > FROM " . $table . " >> > WHERE 1 = 1 >> > "; >> > if ($year != 'ALL') >> > { >> > $sql[] = " AND year = '" . $year . "'"; >> > } >> > if ($status != 'ALL') >> > { >> > $sql[] = " AND status = '" . $status. "'"; >> > } >> > if ($names != 'ALL') >> > { >> > $sql[] = " AND names = '" . $names. "'"; >> > } >> > $sql = implode("\r\n", $sql); >> >> > that avoide the problem of forgetting to put a space between the if'd >> > conditions/criterion. note, i put the spaces before 'and' simply so >> > that when i go to debug the current sql being run, it echos nice and >> > formatted in the browser. >> >> Please learn to post replies to the correct post. I do not need advise on >> formatting, the OP may do! > > Definitely not, but some advice on spelling (and punctuation) wouldn't > go amiss. He he he ;-) sorry, if you look at my posts, they're splintered with errors on all counts. just can't keep up. |
| |||
| On 8 Nov, 21:40, "Steve" <no....@example.com> wrote: | first of all, it's a thread, dude. Err no. A thread is a linked collection of posts on a particular subject. When you post a reply you do so to a previous post within a thread, dude. | second, it's usenet. like it, or lump it. It is not usenet's fault. Usenet is quite capable of attaching responses correctly. What is needed is a bit of intelligence on the part of the user, dude. |
| |||
| "Captain Paralytic" <paul_lautman@yahoo.com> wrote in message news:1194603188.838479.254790@k79g2000hse.googlegr oups.com... > On 8 Nov, 21:40, "Steve" <no....@example.com> wrote: > | first of all, it's a thread, dude. > Err no. A thread is a linked collection of posts on a particular > subject. When you post a reply you do so to a previous post within a > thread, dude. hmmm. so i was in a thread dealing with a particular subject and posted a reply to a previous post within the thread, dude. did you want to make a dashing, stand-out point here. > | second, it's usenet. like it, or lump it. > It is not usenet's fault. Usenet is quite capable of attaching > responses correctly. What is needed is a bit of intelligence on the > part of the user, dude. actually, usenet is a venue and takes *no* action in attaching messages to others...dude. perhaps you should have a look at the nntp protocol and learn how it all works. either way, your bit ot an attempt at insults is lost in translation since it went to intellect - the irony meter just went of the scale as soon as you tried to talk about things you obviously have *no* idea work. as for my exact point, it's usenet. people do what they like. the internet and all it's venues are supremely facist-free at this point. bitching about how people behave on the internet is a moot point at best. next time, try harder...dude. |
| |||
| On Nov 9, 6:08 am, "Steve" <no....@example.com> wrote: > "Captain Paralytic" <paul_laut...@yahoo.com> wrote in message > > news:1194603188.838479.254790@k79g2000hse.googlegr oups.com... > > > On 8 Nov, 21:40, "Steve" <no....@example.com> wrote: > > | first of all, it's a thread, dude. > > Err no. A thread is a linked collection of posts on a particular > > subject. When you post a reply you do so to a previous post within a > > thread, dude. > > hmmm. so i was in a thread dealing with a particular subject and posted a > reply to a previous post within the thread, dude. did you want to make a > dashing, stand-out point here. > > > | second, it's usenet. like it, or lump it. > > It is not usenet's fault. Usenet is quite capable of attaching > > responses correctly. What is needed is a bit of intelligence on the > > part of the user, dude. > > actually, usenet is a venue and takes *no* action in attaching messages to > others...dude. perhaps you should have a look at the nntp protocol and learn > how it all works. either way, your bit ot an attempt at insults is lost in > translation since it went to intellect - the irony meter just went of the > scale as soon as you tried to talk about things you obviously have *no* idea > work. > > as for my exact point, it's usenet. people do what they like. the internet > and all it's venues are supremely facist-free at this point. bitching about > how people behave on the internet is a moot point at best. > > next time, try harder...dude. Thanks for your help guys. Appreciate it very much. john cage |
| ||||
| On 9 Nov, 14:08, "Steve" <no....@example.com> wrote: > hmmm. so i was in a thread dealing with a particular subject and posted a > reply to a previous post within the thread, dude. did you want to make a > dashing, stand-out point here. And you posted the reply attached to the wrong previous post > people do what they like People like you obviously do. Others have more sense. > the irony meter just went of the > scale as soon as you tried to talk about things you obviously have *no* idea > work. Now that's ironic coming from you! |