PHP根据类别从数据库返回用户列表

PHP根据类别从数据库返回用户列表,php,database,mysqli,while-loop,echo,Php,Database,Mysqli,While Loop,Echo,根据复选框中的输入,我尝试根据链接用户表和类别的表中的类别回送数据库中的用户。尽管我知道每个类别中有几个用户,但我对每个类别只得到一个结果 我已经花了好几次时间寻找正确的方法来实现这一点,根据很多教程和文章,我认为这种方法会奏效。但事实并非如此。 这是一段代码,它不符合我的要求: function printusers($idcheck, $cat){ $sqlString = "SELECT userid FROM user_category WHERE categoryid ='$

根据复选框中的输入,我尝试根据链接用户表和类别的表中的类别回送数据库中的用户。尽管我知道每个类别中有几个用户,但我对每个类别只得到一个结果

我已经花了好几次时间寻找正确的方法来实现这一点,根据很多教程和文章,我认为这种方法会奏效。但事实并非如此。 这是一段代码,它不符合我的要求:

function printusers($idcheck, $cat){

    $sqlString = "SELECT userid FROM user_category WHERE categoryid ='$idcheck'";
    $result = mysqli_query($dbLink, $sqlString) or die("Could not search for user id.." . mysqli_error($dbLink));
    $row = mysqli_fetch_assoc($result);

    // Make the first user on the list visable
    mysqli_data_seek($result, 0);

    while ($row = mysqli_fetch_assoc($result)) {

        $id = $row['userid'];   
        $sqlString = "SELECT name FROM users WHERE id='$id'";
        $result = mysqli_query($dbLink, $sqlString) or die("Could not search for user.." . mysqli_error($dbLink));
        $row = mysqli_fetch_assoc($result); 
        $name = $row['name'];

        // echo users
        echo "<h2 class=\"browsecategory\">Category: $cat</h2>
                <p class=\"user\">Name: $name</p>\n";
    }
}
if(isset($_POST['admins'])){
    printusers(1, "Administrator");
}
这种方法重复了几个空结果。HTML在那里,但数据库中没有任何信息。被回传的REULT数量甚至比数据库应该产生的结果数量还要多

这是HTML。基本复选框形式:

<form action="results.php" method="POST">
    <input type="checkbox" name="admins" id="admins">
    <input type="checkbox" name="users" id="users">
    <input type="checkbox" name="maillist" id="maillist">
    <input type="submit" value="Browse">
</form>


您是否允许人们根据选中的多个复选框从多个类别中进行选择?您需要为此发布HTML表单。如果您的复选框没有设置为数组,那么这可能是一个原因。另外,您的编辑似乎有一个可变的范围问题:您有
If(isset($\u POST['admin'))
有单数形式的“admin”,但您有复数形式的
name=“admins”
;打字错误错误报告将发出未定义索引管理员通知的信号。-这应该是
if(isset($\u POST['admins'])
如果它解决了这个问题,请告诉我。如果没有,那么编辑你的问题以反映打字错误。是的,这是一种类型。。。在把它粘贴到我的问题上之后,我摸索了一下,又写了一行。我的问题与我无关。
<form action="results.php" method="POST">
    <input type="checkbox" name="admins" id="admins">
    <input type="checkbox" name="users" id="users">
    <input type="checkbox" name="maillist" id="maillist">
    <input type="submit" value="Browse">
</form>