【发布时间】:2010-12-02 16:49:22
【问题描述】:
我希望有人可以帮忙尖叫!
基本上我想用下面的语句做一些事情;
首先我想检查用户 id 是否存在于 member_categories_position 中。 如果我想排除第二个语句中的所有条目,其中 member_id 等于第一个语句的所有结果 第三个语句是 else 语句,如果 member_id 不存在于 member_categories 位置则显示。
问题 - 第一个系统循环的结果很好,但是当我尝试插入第二个语句 (!='$memid') 时不会产生任何结果并且没有效果。我认为问题在于 $memid 是一个循环结果。
如何让第二个语句表明 member_categories_position 中的任何 member_id 都不会显示在该语句中?
$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)
【问题讨论】:
-
请编辑您的上述代码以使用正确的缩进 - 这将使我们更容易为您提供帮助。
-
$field 和 $category 从哪里获取值?
-
-
将业务/数据库逻辑与表示逻辑分开也是一个明智的想法。
-
感谢 jball,虽然 barfoon 很抱歉,但并没有真正关注你!