проблема цикла в утверждении - PullRequest
0 голосов
/ 02 декабря 2010

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

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

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

PROBLEM- результат из первой системы зацикливается нормально, однако, когда я пытаюсь вставить второй оператор (! = '$ memid'), он не дает результатов и не оказывает никакого влияния.Я думаю, проблема в том, что $ memid является зацикленным результатом.

Как мне получить второе утверждение, чтобы сказать, что любой member_id, который находится в 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)

1 Ответ

0 голосов
/ 02 декабря 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...