Jump to content


Photo

join query


  • Please log in to reply
4 replies to this topic

#1 desithugg

desithugg
  • Members
  • PipPipPip
  • Advanced Member
  • 281 posts
  • LocationScarborough

Posted 11 August 2006 - 01:10 AM

<?php
$link = mysql_connect('localhost', $my_sql_password, $my_sql_username);
if (!$link) {
   die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('tpf');
if (!$db_selected) {
   die('Could not select database: ' . mysql_error());
}
$query = "SELECT author.post,post.post,id.post,extra.post,signature.signup FROM post where thread_id = '$thread_id' ORDER BY id.post ASC limit $start,10";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) { $count++; $row['post'] = str_replace(array_keys($filter), array_values($filter), $row['post']); $row['post'] =  nl2br($row['post']); 
echo "too long to post here";
}
?>
but i also want to recieve the get the signup table where the username = author.post but i dont know where to add it do i use AND OR???

#2 Barand

Barand
  • Moderators
  • Sen . ( ile || sei )
  • 18,016 posts

Posted 11 August 2006 - 06:48 AM

Your query currently references 5 tables

author
post
id
extra
signature

but there is only the 'post' table in the FROM clause.

Perhaps if you tell us what columns are in the relevant tables and what you are trying to achieve.
If you are still using mysql_ functions, STOP! Use mysqli_ or PDO. The longer you leave it the more you will have to rewrite.

Donations gratefully received






moon.png

|baaGrid| easy data tables - and more
|baaChart| easy line, column and pie charts

#3 desithugg

desithugg
  • Members
  • PipPipPip
  • Advanced Member
  • 281 posts
  • LocationScarborough

Posted 11 August 2006 - 04:28 PM

o my bad so the table comes before the dot
<?php
$link = mysql_connect('localhost', $my_sql_password, $my_sql_username);
if (!$link) {
   die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('tpf');
if (!$db_selected) {
   die('Could not select database: ' . mysql_error());
}
$query = "SELECT post.author,post.post,post.id,post.extra,signup.signature FROM post.signup where thread_id = '$thread_id' ORDER BY id.post ASC limit $start,10";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) { $count++; $row['post'] = str_replace(array_keys($filter), array_values($filter), $row['post']); $row['post'] =  nl2br($row['post']); 
echo "too long to post here";
}
?>

okay there and i want to eceice the row signup.signature where the row signup.username is = to post.author but where do i add this since i already have a where do i use AND OR??

#4 HeyRay2

HeyRay2
  • Members
  • PipPipPip
  • Advanced Member
  • 223 posts

Posted 11 August 2006 - 04:56 PM

$query = "SELECT post.author, post.post, post.id, post.extra, signup.signature 
	 FROM post
	 LEFT JOIN signup ON signup.username = post.author 
	 WHERE thread_id = $thread_id
	 ORDER BY post.id ASC 
	 LIMIT $start,10";


#5 desithugg

desithugg
  • Members
  • PipPipPip
  • Advanced Member
  • 281 posts
  • LocationScarborough

Posted 11 August 2006 - 05:09 PM

thnx alot




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users