проблема цикла в утверждении

0

Надеюсь, кто-то может помочь кричать!

В основном я пытаюсь сделать несколько вещей с приведенным ниже утверждением:

Сначала я хочу проверить, существует ли идентификатор пользователя в member_categories_position. Если это нужно, я хочу, чтобы исключить все записи из второго оператора, где member_id равно всем результатам из первого оператора третий оператор - это оператор else, который отображается, если member_id отсутствует в позиции member_categories.

ПРОБЛЕМА - результат из первых системных циклов прекрасен, однако, когда я пытаюсь вставить во второй оператор (!= '$ memid'), результат не получается и не имеет никакого эффекта. Я думаю, проблема в том, что $memid - результат цикла.

Как заставить второй оператор сказать, что любой член_ид, который находится в member_categories_position, не будет отображаться в этом выражении?

$sql2 = "
    SELECT * 
    FROM member_categories_position a 
    JOIN member_users b 
        ON b.id = a.member_id";

$rs2 = mysql_query($sql2);
while ($row = mysql_fetch_array($rs2))
{
    $memid = "".$row['member_id']."";   
}

if(mysql_num_rows($rs2) != 0)
{
    $new= "
        SELECT * 
        FROM member_categories 
        JOIN member_users 
            ON member_categories.member_id=member_users.id 
        JOIN member_config 
            ON member_categories.member_id=member_config.member_id 
        WHERE 
            member_categories.categories='$category' 
            AND member_categories.member_id !='$field'  
        GROUP BY member_config.member_id  
        ORDER BY RAND() limit 0,42";

    $rs = mysql_query($new);

    while ($row = mysql_fetch_assoc($rs)) 
    {
        echo "result excluding member ids from the first statement";
    }
    echo "<div class=\"clear\"></div>";
}
else
{

    $new= "
        SELECT * 
        FROM member_categories 
        JOIN member_users 
            ON member_categories.member_id=member_users.id 
        JOIN member_config 
            ON member_categories.member_id=member_config.member_id 
        WHERE
            member_categories.categories='$category' 
        GROUP BY member_config.member_id  
        ORDER BY RAND() limit 0,42";

    $rs = mysql_query($new);

    while ($row = mysql_fetch_assoc($rs)) 
    {
        echo "Result with all member ids";
    }
    echo "<div class=\"clear\"></div>";

}  } <-- (second is a stray from original post)
  • 0
    Отредактируйте приведенный выше код, чтобы использовать правильные отступы - нам будет намного легче помочь вам.
  • 0
    Откуда $ field и $ category получают свои значения?
Показать ещё 3 комментария
Теги:
tags

1 ответ

0

$memid не входит в область видимости, поскольку он определен как внутри цикла. Попробуйте определить $memid = ''; в верхней части вашего script.. как это.

$memid =  '';
$sql2 = "
         SELECT * 

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

  • 0
    $ memid определяется из первого оператора, это результаты, которые проверяют, существует ли идентификатор члена в member_categories_position, затем определяют результаты, которые должны отображаться

Ещё вопросы

Сообщество Overcoder
Наверх
Меню