首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单个表中显示MySQL结果

在单个表中显示MySQL结果
EN

Stack Overflow用户
提问于 2015-06-23 11:00:56
回答 1查看 77关注 0票数 6

我创建了一个界面,用户可以在其中选择要显示的结果。用户选择的选项保存在数组中,因此MySQL查询将遍历该数组的不同元素。

所以我想把结果显示在一张桌子上.就像这样:

报头1 报头2

1-1结果1-2

结果2-1结果2-2

我的代码如下:

代码语言:javascript
复制
$mark = $_POST['mark'];
if (isset($_POST['mark']) && is_array($_POST['mark'])) {
    echo "<table border='1'>";
    echo "<tr>";
    for ($i = 0; $i < count($mark); $i++) {
            echo "<th>" . $mark[$i] . "</th>";
    }
    echo "</tr>";

    for ($i = 0; $i < count($mark); $i++) {
        $markQuery = "SELECT $mark[$i] FROM marks LIMIT 10";
        $result = mysqli_query($DB_connection, $markQuery);
        echo "<tr>";
        while($row= mysqli_fetch_assoc($result)){
            echo "<td>" .  $row[$mark[$i]] . "</td>";
            }
        echo "</tr>";
        }
        echo "</table>";
}

我不确定第二个循环是否是一个好主意,但我不知道我应该做什么来显示我想要的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-23 11:40:56

先尝试取出所有列,然后将其添加到sql查询中,不需要循环数据库查询。

代码语言:javascript
复制
$mark = $_POST['mark'];
if (isset($_POST['mark']) && is_array($_POST['mark'])) {
    echo "<table border='1'>";
    echo "<tr>";
    for ($i = 0; $i < count($mark); $i++) {
            echo "<th>" . $mark[$i] . "</th>";
    }
    echo "</tr>";

    $sql = implode(',', $_POST['marks']);

    $markQuery = "SELECT ".$sql." FROM marks LIMIT 10";
    $result = mysqli_query($DB_connection, $markQuery);
    echo "<tr>";
    while($row= mysqli_fetch_assoc($result)){
        echo "<td>" .  $row[$mark[$i]] . "</td>";
    }
    echo "</tr>";
    echo "</table>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31000985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档