Page 1 of 1

Having a touch of trouble with a mysql query :(

Posted: Mon Dec 07, 2009 12:11 am
by Torniquet
ok i am sorting out pagination for my members list which only displays email active people... and you can also filter by 1st letter of the username.

when you filter by all or a letter it works fine. but when it comes to numbers, it doesnt filter out those which are and arnt activated by email :(

here is the code, can anyone point me in the right direction on what to change lol.

Code: Select all

if($order == 'num'){
	
	$memberTotal = mysql_num_rows(mysql_query("SELECT id FROM user_list WHERE name_tag = '1' OR name_tag = '2' OR name_tag = '3' OR name_tag = '4' OR name_tag = '5' OR name_tag = '6' OR name_tag = '7' OR name_tag = '8' OR name_tag = '9' OR name_tag = '0' AND email_active = '1'"));

	$getList = mysql_query("SELECT id, username FROM user_list WHERE name_tag = '1' OR name_tag = '2' OR name_tag = '3' OR name_tag = '4' OR name_tag = '5' OR name_tag = '6' OR name_tag = '7' OR name_tag = '8' OR name_tag = '9' OR name_tag = '0' AND email_active = '1' ORDER BY id ASC LIMIT $startID, $perPage");
	
}
Ta x

Re: Having a touch of trouble with a mysql query :(

Posted: Mon Dec 07, 2009 3:41 pm
by hallsofvallhalla
are you just getting a blank page? What is the current result?

Try removing the single quotes from around the numbers ans seeing the result.

Code: Select all

WHERE name_tag = '1'
to

Code: Select all

WHERE name_tag = 1

Re: Having a touch of trouble with a mysql query :(

Posted: Mon Dec 07, 2009 11:48 pm
by Torniquet
no i am getting results, but it is including NON email active accounts. which i dont want it to do :(

if you look it lists the numbers then says AND email_active = '1'

but for some reason it seems to be ignoring that call out :(

will have a play around see if i can fix it :s if not i hope a brainy bugger will shed some light on it lol

Re: Having a touch of trouble with a mysql query :(

Posted: Tue Dec 08, 2009 12:31 am
by hallsofvallhalla
well according to your query its going to include name_tag = '0' AND email_active = '1' as the only AND active email

instead try this

Code: Select all

 $memberTotal = mysql_num_rows(mysql_query("SELECT id FROM user_list WHERE email_active = '1' AND name_tag = '1' OR name_tag = '2' AND email_active = '1' OR name_tag = '3' AND email_active = '1' OR name_tag = '4' AND email_active = '1' OR name_tag = '5' AND email_active = '1' OR name_tag = '6' AND email_active = '1' OR name_tag = '7' AND email_active = '1' OR name_tag = '8' AND email_active = '1' OR name_tag = '9' AND email_active = '1' OR name_tag = '0' AND email_active = '1' "));

Re: Having a touch of trouble with a mysql query :(

Posted: Tue Dec 08, 2009 2:06 am
by Torniquet
genious :)

but just after i tried that i had a brainwave of my own lol.

Code: Select all

$memberTotal = mysql_num_rows(mysql_query("SELECT id FROM user_list WHERE (name_tag = '1' OR name_tag = '2' OR name_tag = '3' OR name_tag = '4' OR name_tag = '5' OR name_tag = '6' OR name_tag = '7' OR name_tag = '8' OR name_tag = '9' OR name_tag = '0') AND email_active = '1'"));
	
	$getList = mysql_query("SELECT id, username FROM user_list WHERE (name_tag = '1' OR name_tag = '2' OR name_tag = '3' OR name_tag = '4' OR name_tag = '5' OR name_tag = '6' OR name_tag = '7' OR name_tag = '8' OR name_tag = '9' OR name_tag = '0') AND email_active = '1' ORDER BY username ASC LIMIT $startID, $perPage");
that seems to have worked aswell :)

Thank you anyways :)

Re: Having a touch of trouble with a mysql query :(

Posted: Tue Dec 08, 2009 2:11 am
by hallsofvallhalla
whatever works for you :) glad you solved it