3

我正在开发一个允许用户创建文章的文章,但是对于管理员有一些限制,我将其标识为 SgroupId 1。现在当我使用我的管理员代码登录时,我意识到我仍然无法发布所有内容,除了我在 loadTypeUsers 中确定的内容。我知道我得到了 Sgroup1 的值,因为管理面板加载在下面的栏中。此外,当我回显该值时,我会得到 1 的回报,这应该没问题。

但是当我尝试在弹出窗口中加载下拉列表时,它不会给我完整的列表。相反,它只加载我在 LoadTypeUsers 中指定的列表。有人可以帮我吗?

提前致谢。

〜多夫

function MakeArticleTypeDropdown(){
        echo "<select name='ArticleTypeId'>";

        if($SgroupId == 1 || $SgroupId == 1){ 
            $results = LoadType();
        }
        else
        {
            $results = LoadTypeUsers();
        }

        while($row = mysql_fetch_array($results)){
            echo "<option value='".$row['ArticleTypeId']."'>"
                            .$row['ArticleTypeName']."</option>";
        }
        echo "</select>";
    }

这包含在 ArticleFunction.php 文件中

function LoadTypeUsers(){
    $query = "SELECT * FROM Articletype limit 1,3;";
    $resultaat=SendQuery($query);
    return $resultaat;
}

    function LoadType(){
    $query = "SELECT * FROM Articletype;";
    $resultaat=SendQuery($query);
    return $resultaat;
}

这隐藏在 Sentry.php 文件中

session_start();
$UserName = $_SESSION['username'];

$result = mysql_query("select * from user where username='".$UserName."'");
while($row = mysql_fetch_array($result)){
                $UserId = $row['UserId'];
                $CharacterName = $row['CharacterName'];
                $UserName = $row['UserName'];
                $SgroupId = $row['SgroupId'];
            };
4

3 回答 3

3

首先,我没有看到您传递$SgroupIdto的值MakeArticleTypeDropdown()。也许您有范围问题,并且您正在检查未在函数内设置的变量 $SgroupId?

第二:($SgroupId == 1 || $SgroupId == 1)那是||为了什么?

于 2012-08-17T12:29:10.387 回答
3

$SgroupId 未在函数 MakeArticleTypeDropdown() 中定义,因此它始终处于 else 条件。尝试如下操作

MakeArticleTypeDropdown($SgroupId)
{
//-----------your code
}
于 2012-08-17T12:30:46.027 回答
1

我认为该LIMIT条款应该是一个WHERE条款。

IE

SELECT * FROM Articletype WHERE SgroupId = 1 OR SgroupId = 3

也许这条线

if($SgroupId == 1 || $SgroupId == 1){  

应该读

if($SgroupId == 1 || $SgroupId == 3){  
于 2012-08-17T12:28:11.307 回答