Длинный SQL-запрос

Discussion in 'PHP' started by vorona, 7 Apr 2011.

  1. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    Структура таблицы effir:

    id user type dop date

    Структура таблицы friends:

    id user friend sta

    Структура таблицы users:

    id .... ... ... ...

    Из таблицы effir нужно вывести действия всех друзей определенного пользователя в убывающем порядке.

    В таблице friends друзья этого определенного пользователя могут находится либо в поле user, либо - friend.

    PHP:

    $sql
    ='SELECT effir.*  
    FROM effir,users,friends 
    WHERE  
    (
    (friends.user='
    .$_GET['id'].' AND effir.user=friends.friend AND users.id=friends.friend AND friends.sta=1) 
    OR 
    (friends.friend='
    .$_GET['id'].' AND effir.user=friends.user AND users.id=friends.user AND friends.sta=1)

    ORDER BY effir.id DESC LIMIT 100'
    ;
    $r=mysql_query($sql,$conn);


                   while (
    $row=mysql_fetch_row($r))
                  {
    ..........
                                       }
    Выводит только действия одного друга.
     
  2. red_joker

    red_joker New Member

    Joined:
    4 Nov 2010
    Messages:
    31
    Likes Received:
    3
    Reputations:
    0
    Возможно, перепутаны местами user/friend в friends, если выбираем только по user - то он же должен быть везде, и для friend то же самое
    PHP:
    (
    (
    friends.user='.$_GET['id'].' AND effir.user=friends.user AND users.id=friends.userAND friends.sta=1
    OR 
    (
    friends.friend='.$_GET['id'].' AND effir.user=friends.friend AND users.id=friends.friend AND friends.sta=1)
    ) );
    на работоспособность не проверял.
    ЗЫ. А это:
    PHP:
    (
    (
    friends.user='.$_GET['id'].' AND e
    потенциальный скуль ;)
     
  3. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    потенциальный что?
     
  4. vorona

    vorona Member

    Joined:
    7 Sep 2009
    Messages:
    392
    Likes Received:
    7
    Reputations:
    1
    red_joker, а так выводит только твои действия, которые как раз-то не нужны.