Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ocena skryptu] wspólni znajomi
sebekzosw
post
Post #1





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


Witam! Mam pewien skrypt:

  1. $znajomy = 2;
  2. $ja = 1;
  3.  
  4. $znajomi1 = array();
  5. $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;");
  6. while($znajomi1_row = mysql_fetch_assoc($znajomi1_query)) $znajomi1[] = $znajomi1_row['user_id'];
  7.  
  8. $znajomi2 = array();
  9. $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;");
  10. while($znajomi2_row = mysql_fetch_assoc($znajomi2_query)) $znajomi2[] = $znajomi2_row['user_id'];
  11.  
  12. print_r(array_intersect($znajomi1, $znajomi2));


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:
  1. CREATE TABLE `friends` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `user1` int(11) NOT NULL COMMENT 'id usera 1 - zapraszajacego',
  4. `user2` int(11) NOT NULL COMMENT 'id usera 2 - zaproszonego',
  5. `status` int(1) NOT NULL DEFAULT '0' COMMENT '0 - niezaakceptowane, 1 - zaakceptowane',
  6. `data` int(11) NOT NULL,
  7. PRIMARY KEY (`id`),
  8. KEY `id` (`id`,`user1`,`user2`,`status`,`data`)
  9. ) 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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 16:12