PHP 在下一个按钮上逐行获取结果

标签 php mysql

我想在页面上获取单行并在单击下一步按钮时显示另一行。

<?php
        // Database configuration
    $dbHost = 'localhost';
    $dbName = 'multimedialny';
    $dbUser = 'root';
    $dbPass = '';
        // Database connection
    $dbConnect = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
        // Check database connection
    if ($dbConnect -> connect_errno) {
      echo "MySQL Connection error: " . $dbConnect -> connect_errno;
      exit();
    }
        // Database Query
    $dbQuery = "SELECT * FROM course ORDER by ID";
    $result = $dbConnect -> query($dbQuery);
    $row = $result -> fetch_array(MYSQLI_ASSOC);
        // Count number of rows in table
    $rowCount = $result -> num_rows;
?>

<html>
    <head>
        <title>Title Page</title>
    </head>
    <body>
        <?php echo $row["ID"]; ?>
        <br>
        <?php echo $row["CourseName"]; ?>
        <br>
        <?php echo $row["ModuleName"]; ?>
        <br>
        <?php echo $row["Contents"]; ?>
        <br><br>
        <a href="#">Next Result</a>
        <a href="#">Previous Result</a>
    </body>
</html>

目前我仅获得表中第一行的结果,我想在用户单击下一个按钮时显示下一个结果。是否可以不分页制作?

我的数据库:

CREATE TABLE `course` (
  `ID` int(11) NOT NULL,
  `CourseName` text NOT NULL COMMENT 'Kategoria kursu',
  `ModuleName` text NOT NULL COMMENT 'Nazwa modułu',
  `Contents` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `course` (`ID`, `CourseName`, `ModuleName`, `Contents`) VALUES
(1, 'Prawo jazdy kat. B', 'Zagadnienia podstawowe', 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque illum repellat harum reiciendis ea officia numquam iusto excepturi consequatur libero sit, nemo, iste obcaecati distinctio soluta eum molestias, eos voluptates. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio eligendi ullam voluptatem vero soluta reiciendis, consectetur quidem aperiam consequatur, facilis et. Quasi omnis eos vitae voluptatibus. Quis accusantium, debitis esse! '),
(2, 'Prawo jazdy kat. B', 'Zagadnienia podstawowe', 'Odio eligendi ullam voluptatem vero soluta reiciendis, consectetur quidem aperiam consequatur, facilis et. Quasi omnis eos vitae voluptatibus. Quis accusantium, debitis esse! ');

ALTER TABLE `course`
  ADD PRIMARY KEY (`ID`);

最佳答案

通过以下方式更新您的查询:

$start = !empty($_REQUEST['start']) ? $_REQUEST['start'] : 0 ;
$dbQuery = "SELECT * FROM course ORDER by ID limit $start, 1 ";`

<a href="<yourpg_name>?start=<?php echo ($start == 0 ) ? 0 : $start-1 ?>">Previous Result</a>
    $start++; 
<a href="<yourpg_name>?start=<?php echo $start?>">Next Result</a>`

您也可以使用 ajax/jquery 做同样的事情。 这只是概念。 您还需要实现验证。

关于PHP 在下一个按钮上逐行获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38050161/

相关文章:

php - 我应该在每个页面和请求中检查用户授权吗?

php - 将第一个单词发送到数组中的最后一个位置

java - 如何更新外键列?

Php mysqli_fetch_array 不起作用

php - 间歇性出现 "Maximum execution time"错误

php - 如何在php中将ppt幻灯片转换为jpeg图像

php - 我可以在准备好的语句中参数化表名吗?

MySQL查询获取未多次赋值的值

mysql - 计算每年的运行事件总数以及跨多年的事件

sql - MySQL 查询 - SELECT(类别的平均值)AS "CATEGORY AVERAGE"