RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1214405
Accepted
Arcadiy
Arcadiy
Asked:2021-12-05 18:32:32 +0000 UTC2021-12-05 18:32:32 +0000 UTC 2021-12-05 18:32:32 +0000 UTC

如何对每页有 5 条评论的页面进行分页?

  • 772

怎么让5条评论后才需要切换到第二页,以此类推,也就是页面切换器?创建了一个表(这是我的表) 在此处输入图像描述

在文件夹的根目录中创建了 db.php 文件。这是它的内容(* - 替换了密码)

<?php 
$dblocation = '*******'; // имя хоста
$database = '*******'; // имя базы данных 
$dbuser = '*******'; // имя пользователя
$dbpasswd = '************'; // пароль пользователя

// устанавливаем соединение с базой данных 

$link = mysqli_connect($dblocation, $dbuser, $dbpasswd, $database) or die("Не могу подключиться");  
mysqli_select_db($link, $database) or die ('Не могу выбрать БД');

//установка кодировки
$link->set_charset("utf8");
?>

接下来,我创建了一个表单文件 form.php

<?php include_once 'db.php'; ?>

<html>
<head>
<title>Отзывы о продукте</title>
<link rel="stylesheet" href="css/style.css">
<meta content="text/html; charset=utf-8">
</head>
<body>

 <?php $result = mysqli_query($link, "SELECT * FROM `Otzivy2` ORDER BY id DESC") ?> 
 <?php while($res = mysqli_fetch_assoc($result)) { ?>

<div class="reviews">
  
<div class="review_text">
<b>Имя:</b> <?= $res['name'] ?> | <b>Дата:</b> <?= date("d.m.y | <b>Время:</b> H.i", strtotime($res['date'])) ?> | <b>Оценка:</b> <?= $res['rating'] ?>/5
<hr>
<br>
<?= $res['message'] ?> <br>
</div>
</div>

<?php } ?>

<div class="content">
<h2>Отзыв о продукте</h2>
<h3>Все поля обязательны для заполнения</h3>
<br>
<div class="send"> 
<form method="post" action="index.php" id="review">   
<h3>Оцените продукт</h3>
<div class="rating">
<input type="radio" class="rating" id="star5" name="rating" value="5" /><label for="star5"></label>
<input type="radio" class="rating" id="star4" name="rating" value="4" /><label for="star4"></label>
<input type="radio" class="rating" id="star3" name="rating" value="3" /><label for="star3"></label>
<input type="radio" class="rating" id="star2" name="rating" value="2" /><label for="star2"></label>
<input type="radio" class="rating" id="star1" name="rating" value="1" /><label for="star1"></label>
</div>
<br>
<br>
<br>
<input type="text" name="name" placeholder="Ваше имя" required>
<input type="email" name="email" placeholder="Ваш E-mail" required>
<input type="date" name="date" hidden="true">
<textarea name="message" placeholder="Сообщение" required></textarea>
<input type="submit" name="add" value="Оставить отзыв">
</form>
</div>
</div>
</body>
</html>

然后我将此代码添加到 index.php 文件中

<?
include_once 'db.php';

if (isset($_POST['add'])) {

// преобразуем специальные символы в текст

$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$message = htmlspecialchars($_POST['message']);
$rating = htmlspecialchars($_POST['rating']);

// заносим данные из формы в переменные и проверяем на ошибки

$name = strip_tags(trim($_POST['name']));
$email = strip_tags(trim($_POST['email']));
$message = strip_tags(trim($_POST['message']));
$rating = strip_tags(trim($_POST['rating']));
$date = $_POST['date'];

// заносим дату и время отзыва
$date = date('Y-m-d H:i');

// проверка введенных данных

if($name != '' AND $email != '' AND $message != ''){ if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)) {$err = 'Неверно введен е-mail.';}

// отправка данных в бд

mysqli_query($link, " INSERT INTO otzivi (name, email, message, date, rating) VALUES ('$name', '$email', '$message', '$date', '$rating')");

// закрываем сеанс 

mysqli_close($link);

//редирект

header ("location: index.php");
   }
}

include_once 'form.php';
?>
php
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Николай
    2021-12-05T18:54:08Z2021-12-05T18:54:08Z

    代码已经过测试。

    <?php 
    
    $num = 5; // Количество отзывов
    
    if ($_GET['page'] == NULL) $page = 1; //Если страница не определена - опреелить
    else $page = $_GET['page']; 
    
    $start = $page * $num - $num; // Подсчёт строки
    
    /* Получаем данные */
    $sql = mysqli_query($link, "SELECT *  FROM otzivi ORDER BY `id` DESC LIMIT " . $start . "," . $num);
    /*******************/
    
    /* Проверяем наличие другой страницы */
    $start = $start + $num;
    $sql = mysqli_query($link, "SELECT * FROM otzivi ORDER BY `id` DESC LIMIT " . $start . "," . $num);
    $check = mysqli_num_rows($sql);
    if ($check <= 0) $load = ''; // Если страницы нет - скрыть
    else $load = '<a href="?page='. ++$page .'">Next</a>';
    echo $load;
    ?>
    
    • 1

相关问题

  • mysqli 类的对象无法转换为字符串

  • 您的系统中缺少 ext-http *,您的系统中缺少 ext-mysql_xdevapi *

  • 如何从csv中删除bom?

  • 当我按下 Enter 键时,如何让 PhpStorm 的 Emmet 插件触发,就像 VS Code 一样?

  • 注释在 Symfony5 中不起作用

  • 搜索最近的地理位置点

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何从列表中打印最大元素(str 类型)的长度?

    • 2 个回答
  • Marko Smith

    如何在 PyQT5 中清除 QFrame 的内容

    • 1 个回答
  • Marko Smith

    如何将具有特定字符的字符串拆分为两个不同的列表?

    • 2 个回答
  • Marko Smith

    导航栏活动元素

    • 1 个回答
  • Marko Smith

    是否可以将文本放入数组中?[关闭]

    • 1 个回答
  • Marko Smith

    如何一次用多个分隔符拆分字符串?

    • 1 个回答
  • Marko Smith

    如何通过 ClassPath 创建 InputStream?

    • 2 个回答
  • Marko Smith

    在一个查询中连接多个表

    • 1 个回答
  • Marko Smith

    对列表列表中的所有值求和

    • 3 个回答
  • Marko Smith

    如何对齐 string.Format 中的列?

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5