За последние 24 часа нас посетили 22216 программистов и 1685 роботов. Сейчас ищут 1647 программистов ...

Проблема с кодом и алгоритмом

Тема в разделе "Сделайте за меня", создана пользователем Бекжан, 5 авг 2014.

  1. Бекжан

    Бекжан Новичок

    С нами с:
    5 авг 2014
    Сообщения:
    1
    Симпатии:
    0
    Помогите решит:
    <?php
    $sqlSelectFriend = mysql_query("SELECT * FROM `friends` WHERE `out`='".$user['id']."' AND `in`='".$ank['id']."' AND `status`='1' OR `out`='".$ank['id']."' AND `in`='".$user['id']."' AND `status`='1' ");
    echo '<div class="b">Друзья</div><div class="c">';
    while ($arSelFriend = mysql_fetch_array($sqlSelectFriend)) {
    $infoFriend = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id`='' "));
    }
    echo '</div>';
    ?>

    Добавлено спустя 1 минуту 5 секунд:
    незнаю как ставить айди в SELECT * FROM `users` WHERE `id`='' из массива $arSelFriend
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в каком поле они там и в каком виде?
     
  3. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    А если у пользователя 1000 друзей - будет 1000 запросов к БД? Ну нафиг.
    Первый запрос:
    Код (Text):
    1. sqlSelectFriend =mysqli_query('select <то, что является id в таблице users> from friends where <здесь все ваши фильтры>');
    2. while ($row = mysqli_fetch_array($sqlSelectFriend)) {$ids[] = $row[0]; }
    3. $infoFriends = mysqli_query('select * from users where id in ('.join (', ', $ids).')');
    И дальше дергаем по одной строке из $infoFriends и заносим в таблицу.
     
  4. kamael

    kamael Новичок

    С нами с:
    29 июн 2014
    Сообщения:
    9
    Симпатии:
    0
    Не --- ну вы бредите.

    В цикле запросы к БД.

    Лучше одним запросом и пусть двухуровневым.

    Так как база например может лагануть и в цикле писец настанет.

    Один запрос(в нем все подзапросы (которые уже там в базе обработаются)) - и объединенные данные в массив
    А с массива там по условиям выдергивать что надо.