为了账号安全,请及时绑定邮箱和手机立即绑定

迭代多行并在函数内输出结果

迭代多行并在函数内输出结果

慕姐8265434 2023-12-04 17:09:21
我的网站页面之一有一个 PHP 文件,其中包含我的所有 HTML 和 PHP 代码。我在网站上有一个表,我想用 SQL 表中的数据填充它。我目前将所有代码(HTML、Javascript、SQL、PHP)放在一个名为“modules.php”的文件中。这是我必须填充表的代码:<?php      // Shows all the modules in the table      $module_sql = "SELECT *, course.course_name FROM module INNER JOIN course on module.course = course.course_id";      $module_qry = mysqli_query($link, $module_sql);      while ($module = mysqli_fetch_array($module_qry)) { ?>        <tr>          <td><?php echo $module['module_name']; ?></td>          <td><?php echo $module['course_name']; ?></td>          <td><?php echo $module['perc_worth']; ?></td>          <td><?php echo $module['credit']; ?></td>          <td><?php echo $module['uni_year']; ?></td>        </tr>      <?php } ?>当所有内容都在一个文件中时,这一点非常有效。它获取数据库中的所有行,迭代它们并将结果打印在表中,直到没有剩余。现在我正在创建一个类文件“queries.php”,它将在单独的函数中包含我的所有 SQL 代码。我将从“module.php”文件中调用每个函数。到目前为止,当我只需要执行查询或从数据库返回单行时,这非常有效,但是当我必须从数据库返回多行时,我遇到了问题。这是到目前为止我已经实现的代码:查询.php    function executeGetQry($qry) {        $execute = mysqli_query($this->databaseConnect(), $qry) or die(mysqli_error(            $this->databaseConnect()));        if ($execute == null) {            return null;        } else {            return mysqli_fetch_array($execute);        }    }    function getAllModules() {        $module_sql = "SELECT *, course.course_name FROM module INNER JOIN course on module.course = course.course_id";        return $this->executeGetQry($module_sql);    }然而,这是行不通的,因为每次执行“while”循环时,它只是再次运行该函数并一遍又一遍地返回同一行,并且从不迭代并返回其他行。问题:如何修复我的函数,以便它能够将所有行和return每行作为数组进行迭代,以便我可以成功地将所有 SQL 放入不同的文件中并获得相同的结果?我有多个 SQL 查询,需要迭代结果,所以我认为我需要修复我的executeGetQuery函数。
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

由于mysqli_fetch_array()每次调用仅返回一行,因此它不能作为getAllModules().


你可以有getAllModules()return $execute,那么你的 PHP 代码将是:


    <?php

        $execute = $query->getAllModules();

        while ($module = mysqli_fetch_array($execute)) { ?>

        <!-- your table row -->

    <?php } ?>


查看完整回答
反对 回复 2023-12-04
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信