Jump to content

Archived

This topic is now archived and is closed to further replies.

longhorn14

trouble with WHERE query

Recommended Posts

I am missing something here. I would like a query where I can have records displayed according to two different criteria. I can get it done with just one, such as

[php:1:ceb2ecabf9]<?php

 

$query=\"SELECT * FROM customers WHERE cust_type=\'$cust_type\'\";

 

?>[/php:1:ceb2ecabf9]

but, when I add another field, it displays nothing and I get no errors. Ideally, I would like to have the URL indicate what I want displayed (www.somedomain.com/file.php?cust_type=5&cust_subtype=Other). A more comprehensive code snippet is below. Thanks a ton,

nat

 

[php:1:ceb2ecabf9]<?php

<?

include(\"dbcustomers.inc.php\");

mysql_connect(mysql,$username,$password);

@mysql_select_db($database) or die( \"Unable to select database\");

$query=\"SELECT * FROM customers WHERE cust_type=\'$cust_type\' AND WHERE cust_subtype=\'$cust_subtype\'\";

 

$result=mysql_query($query);

 

 

 

mysql_close();

$ctype=\"contacts\";

echo \"<b><center>Customer Database</center></b><br><br>\";

 

?>

?>[/php:1:ceb2ecabf9]

Share this post


Link to post
Share on other sites

try to only use the first WHERE and delete the second one.

 

... WHERE bla = \'$bla\' AND bla2 = \'$bla2\'

 

no second \"WHERE\"

Share this post


Link to post
Share on other sites

Hey Nat

 

Do you want to make to mysql query act accordingly to the url or the browser to go to an url after the query?

Share this post


Link to post
Share on other sites

I am not sure I understand the difference. I think I would like the query to be run using the vars from the url. I would be interested in hearing about the other way, too. Thank you for asking!

Share this post


Link to post
Share on other sites

Hey

 

Say someone goes to this url: www.somedomain.com/file.php?cust_type=5&cust_subtype=Other

 

the query could act according to the url like this:

$query="SELECT * FROM customers WHERE cust_type=\'".$_GET[\'cust_type\']."\' AND cust_subtype=\'".$_GET[\'cust_subtype\']."\'";

 

the $_GET fetches the GET value from the url (?variable=value)

Share this post


Link to post
Share on other sites

hey

 

Im not sure actually. Never used more than one AND myself, by try it out and let me know :)

Share this post


Link to post
Share on other sites

Well, I tried it with two \"AND\" statements in the query and it worked fine.

Here was the query:

[php:1:584218dfa6]<?php

$query=\"SELECT * FROM customers WHERE state_res=\'\".$_GET[\'state_res\'].\"\' AND cust_type=\'\".$_GET[\'cust_type\'].\"\' AND cust_subtype=\'\".$_GET[\'cust_subtype\'].\"\'\";

?>[/php:1:584218dfa6]

 

The URL for this is:

http://www.racksandfins.com/guides_test.ph...fishing%20guide

 

Thanks for the help!

Share this post


Link to post
Share on other sites
How many of those AND statements can I have?

 

Generally, as many as there are columns in your table. Although if you are range checking you may have a need for several ANDs for a single column.

 

eg

... WHERE ((age >= 18) AND (age <= 30)) OR ((age > 65) AND (age < 70)) ...

hth

Share this post


Link to post
Share on other sites
try to only use the first WHERE and delete the second one.

 

... WHERE bla = \'$bla\' AND bla2 = \'$bla2\'

 

no second \\\"WHERE\\\"

 

Thanks Jan, you all have taught me a lot!

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.