• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

Next
Prev

实战:文章列表

Data: 2020-12-09 03:36:35Form: JournalClick: 6

# 实战:文章列表


# 一、判断登录状态

<?php
    if(empty($_COOKIE)){
        echo '<script>window.alert("请先登录");window.location.href="login.php";</script>';
        return false;
    }
?>

# 二、输出账号

<a class="fly-nav-avatar">
    <cite class="layui-hide-xs"><?php echo $_COOKIE['account'] ?></cite>
</a>

# 三、获取文章列表

<?php
    $pdo = new PDO('mysql:host=localhost;dbname=boke', 'root' , 'root' , array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';"));
    $stmt = $pdo->prepare('SELECT * FROM `article`');
    $stmt->execute();
    $lists = $stmt->fetchAll();
?>

# 四、循环文章列表

<?php
    foreach($lists as $lists_v){
?>
    <tr>
        <td><?php echo $lists_v['title'] ?></td>
        <td><?php echo $lists_v['date'] ?></td>
        <td><?php echo $lists_v['class'] ?></td>
        <td>
            <button type="button" class="layui-btn layui-btn-normal layui-btn-xs">
                <i class="layui-icon layui-icon-edit"></i>
            </button>
            <button type="button" class="layui-btn layui-btn-danger layui-btn-xs">
                <i class="layui-icon layui-icon-delete"></i>
            </button>
        </td>
    </tr>
<?php
    }
?>

# 五、分页

<div class="layui-box layui-laypage layui-laypage-default">
    <span class="layui-laypage-curr">
        <em class="layui-laypage-em"></em><em>1</em>
    </span>
    <a href="article.php?p=2">2</a>
</div>
# 统计文章数量
$stmt = $pdo->prepare('select count(*) from `article`');
$stmt->execute();
$count = $stmt->fetchAll();
$count = $count[0][0];

# 计算页数
$page = ceil($count/10);

# 获取当前页数
if(empty($_GET['p'])){
    $p = 1;
}else{
    $p = $_GET['p'];
}
<div class="layui-box layui-laypage layui-laypage-default">
    <?php
        for($i=1;$i<=$page;$i++){
            if($p == $i){
    ?>
    <span class="layui-laypage-curr">
        <em class="layui-laypage-em"></em>
        <em><?php echo $i; ?></em>
    </span>
    <?php
        }else{
    ?>
    <a href="article.php?p=<?php echo $i; ?>"><?php echo $i; ?></a>
    <?php
            }
        }
    ?>
</div>
# 文章列表:增加分页
$one = ($p-1)*10;
$stmt = $pdo->prepare('select * from `article` LIMIT '.$one.',10');
$stmt->execute();
$lists = $stmt->fetchAll();
Name:
<提交>