On 5 July 2010 15:02, Jason Pruim <lists@xxxxxxxxxxxxxxxxxxxx> wrote: > Hi everyone, > > I'll admit right now that I'm still trying to wrestle with inner joins... > Which leaves me with this code right here: > > <?PHP > > if(isset($_GET['cat'])) { > $cat = mysql_real_escape_string($_GET['cat']); > > } > > if(isset($cat)) { > $sql = "SELECT * FROM ".$cfgtableContent." INNER JOIN > ".$cfgtableCategories." WHERE ".$cfgtableContent.".postCat = ".$cat." ORDER > BY ".$cfgtableContent.".postNumber DESC"; > > } > > ?> > > Now... I know the problem is probably staring an experienced inner join > master in the face and I don't even have to say it... But for those who > don't know or you might be searching the archives and want to learn from my > blatant misunderstanding of inner joins I'll outline said problem in the > following lines. > > What I want to achieve: Add navigation by category to my blog. IE: If I want > to display just Personal posts click on the "Personal" link and all other > posts magically disappear. > > What I'm getting now: I have 5 categories in my blog now... I get 5 copies > of each post repeated down the site all with a different category... > > All the variables are filled in correctly which I have checked with simple > echo's. I have also tried removing the escaping of the data with no change > so if possible I'd like to leave it in there as is :) > > I have also tried switching it from the above to this: > > <?PHP > > $sql = "SELECT * FROM ".$cfgtableContent." INNER JOIN > ".$cfgtableContent." WHERE ".$cfgtableCategories.".postCat = ".$cat." ORDER > BY ".$cfgtableContent.".postNumber DESC"; > > ?> > > with no change... > There's no join clause in your query, i.e. nothing to tie the two tables together. That will leave you with a cartesian product, i.e. for every row in table a you'll get the entire table b joined on. You need to specify how the tables you're joining together are related. Something like SELECT a.row FROM a JOIN b ON b.a_id = a.id Regards Peter -- <hype> WWW: http://plphp.dk / http://plind.dk LinkedIn: http://www.linkedin.com/in/plind BeWelcome/Couchsurfing: Fake51 Twitter: http://twitter.com/kafe15 </hype> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php