Надеюсь, кто-то может помочь кричать!
В основном я пытаюсь сделать несколько вещей с приведенным ниже утверждением:
Сначала я хочу проверить, существует ли идентификатор пользователя в 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)
$memid не входит в область видимости, поскольку он определен как внутри цикла. Попробуйте определить $memid = ''; в верхней части вашего script.. как это.
$memid = '';
$sql2 = "
SELECT *
Таким образом, он будет определен, когда вы используете его ниже.