|
With this query i am trying to select the members who have become friends with the friends of f.uid, f.uid2 is the id of the friend. Can anyone see any flaws in the logic of my query?
These queries seem to get part of the job done. But now i want to select the name column of the member who has been paired with the friend.
could i add this to first query then SELECT z.* JOIN members z ON r.recipient = m.id then use it as so in the php
$query = "SELECT * " . "FROM relationships r " . "JOIN members m ON r.inviter = m.id " . "JOIN friends f ON r.recipient = f.uid2 " . "WHERE f.uid = $id";
$query_2 = "SELECT * " . "FROM relationships r " . "JOIN members m ON r.inviter = m.id " . "JOIN friends f ON r.recipient = f.uid " . "WHERE f.uid2 = $id";
while ($row = mysql_fetch_array($result)) { $epoch = $row["epoch"]; //epoch will be time when invite was made $actions[] = array("name" => $row["z.name"], "action" => $row["status"], "date" => date("D j M Y @ G:i.s", $epoch)); }
Here are my tables:
create table members ( id int not null primary key auto_increment, username varchar(40) not null, password varchar(40) not null, name varchar(40) not null, location varchar(40) not null, gender char(1) not null check gender in ('m','f'), email varchar(40) default ', birthday date default null, description text default ');
create table relationships ( id int not null auto_increment, recipient int not null references members(id), inviter int not null, status varchar(20) not null, epoch date not null, primary key (id) );
create table friends ( id int not null auto_increment, uid int not null, uid2 int not null, primary key (id) );
|
posted 2008-May-13, 1pm AEST
|