Witam! Mam pewien skrypt:
$znajomy = 2;
$ja = 1;
$znajomi1_query = mysql_query("SELECT `u`.`user_id` FROM `friends` AS `f` LEFT JOIN `users` AS `u` ON `u`.`user_id` = ( IF( `f`.`user1` =".$znajomy.", `f`.`user2` , `f`.`user1` ) ) WHERE (`user1` =".$znajomy." OR `user2` =".$znajomy.") AND `status` =1;"); while($znajomi1_row = mysql_fetch_assoc($znajomi1_query)) $znajomi1[] = $znajomi1_row['user_id'];
$znajomi2_query = mysql_query("SELECT `u`.`user_id` FROM `friends` AS `f` LEFT JOIN `users` AS `u` ON `u`.`user_id` = ( IF( `f`.`user1` =".$ja.", `f`.`user2` , `f`.`user1` ) ) WHERE (`user1` =".$ja." OR `user2` =".$ja.") AND `status` =1;"); while($znajomi2_row = mysql_fetch_assoc($znajomi2_query)) $znajomi2[] = $znajomi2_row['user_id'];
Który porównuje mi moich i innej osoby znajomych. Oto wyniki:
Kod
moi znajomi:
Array
(
[0] => 1996
[1] => 1
[2] => 24306
[3] => 12639
[4] => 5057
[5] => 1757
)
znajomi kogoś:
Array
(
[0] => 2
[1] => 1757
)
wspólni znajomi:
Array
(
[5] => 1757
)
Dodatkowo zamieszczam zrzut tabeli friends:
CREATE TABLE `friends` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user1` int(11) NOT NULL COMMENT 'id usera 1 - zapraszajacego',
`user2` int(11) NOT NULL COMMENT 'id usera 2 - zaproszonego',
`status` int(1) NOT NULL DEFAULT '0' COMMENT '0 - niezaakceptowane, 1 - zaakceptowane',
`data` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`,`user1`,`user2`,`status`,`data`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=2 ;
proszę o ocenę i poprawki (IMG:
style_emoticons/default/smile.gif)
Ten post edytował sebekzosw 25.07.2010, 17:56:08