Mysqli选择多个查询

恩维恩斯

我正在尝试使用来选择一个查询,user_id以获取特定于用户的类别,然后从那里使用第一个查询的结果从第二个查询的第二个表中选择数据。我想在下拉菜单中显示第二个查询的数据。有没有简单的方法可以做到这一点?我是使用mysqli的新手,所以请多多包涵。

我具有以下功能,但在下拉菜单中未显示任何内容,但正在显示下拉菜单。

function get_classes($mysqli) {
     if(isset($_SESSION['user_id'], $_SESSION['username'], $_SESSION['login_string'])) {
    $user_id = $_SESSION['user_id'];
    if ($stmt = $mysqli->prepare("SELECT category_id 
                            FROM questions WHERE user_id = ?")) {
        $stmt->bind_param('i', $user_id);
        $stmt->execute();
        $stmt->store_result();

        if($stmt->num_rows>0) {
            $stmt->bind_result($category_id);
            $stmt->fetch();
            if($result = $mysqli->prepare("SELECT category_id, category_name
                            FROM category WHERE category_id = ?")) {
                $result->bind_param('s', $category_id);
                $result->execute();
                $result->store_result();
            }
        }
        echo "<select id='classes' name='classes'>";
        while ($row = $result->fetch_assoc()) {
            unset($user_id, $category_name);
            $category_id = $row['category_id'];
            $category_name = $row['category_name'];
            echo '<option value="'.$category_id.'">'.$category_name.'</option>';
        }
        echo "</select>";
    }

}
}

我从另一个页面使用以下代码调用该函数:

<?php
            get_classes($mysqli);

            ?>
凯文

另外,您也可以加入他们,然后再进行常规提取。例子:

function get_classes($mysqli) {
    if(!isset($_SESSION['user_id'], $_SESSION['username'], $_SESSION['login_string'])) {
        return false;
    }

    $user_id = $_SESSION['user_id'];

    $sql = '
        SELECT
        category.category_id,
        category.category_name

        FROM category
        JOIN questions
        ON questions.category_id = category.category_id

        WHERE questions.user_id = ?
    ';
    $stmt = $mysqli->prepare($sql);
    $stmt->bind_param('i', $user_id);
    $stmt->execute();
    $result = $stmt->bind_result($category_id, $category_name);

    // printing
    echo '<select name="classes" name="classes">';
    while($row = $stmt->fetch()) {
        echo '<option value="'.$category_id.'">'.$category_name.'</option>';
    }
    echo '</select>';
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Mysqli选择多个查询

来自分类Dev

mysqli从多个表查询

来自分类Dev

MySQL选择多个查询

来自分类Dev

SQL查询,多个选择

来自分类Dev

如何在mysqli中运行选择查询

来自分类Dev

mysqli通过href链接选择查询

来自分类Dev

MySqli将IF放入选择查询

来自分类Dev

Mysqli不允许多个查询?

来自分类Dev

使用for循环进行多个mysqli查询

来自分类Dev

SQL或语句与多个选择查询

来自分类Dev

如何选择多个WMI查询

来自分类Dev

SQL Server:多个选择查询

来自分类Dev

SQL查询多个选择语句

来自分类Dev

如何选择多个子查询?

来自分类Dev

使用多个 where 子句选择多个查询

来自分类Dev

如何使用mysqli准备用于选择查询的语句

来自分类Dev

如何从逗号分隔的mysqli查询中选择DISTINCT

来自分类Dev

执行mysqli插入查询,然后立即选择新行的ID

来自分类Dev

MySqli查询选择所有字段不为空

来自分类Dev

如何从逗号分隔的mysqli查询中选择DISTINCT

来自分类Dev

mysqli查询选择*不返回某个字段

来自分类Dev

使用 where field='string' 选择查询时的 MySQLi 错误

来自分类Dev

在方便的mysqli_query php中执行多个mysql查询

来自分类Dev

如何使用联接多个表编写此mysqli查询?

来自分类Dev

尝试运行多个mysqli查询时出错

来自分类Dev

SQL Server:从多个表中选择查询

来自分类Dev

在选择查询中使用多个case语句

来自分类Dev

单个查询中有多个选择计数(*)

来自分类Dev

在MySQL中执行多个选择查询-SQLyog