亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 56
粉絲 1
評論 0
訪問量 76184
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
PHP分頁功能擴(kuò)展及數(shù)據(jù)的修改刪除
零龍
原創(chuàng)
782人瀏覽過

PHP分頁功能擴(kuò)展及數(shù)據(jù)的修改刪除

  • connect.php 連接數(shù)據(jù)庫
  • page-list.php顯示分頁效果
  • page-data.php分頁處理
  • handle.php 處理修改和刪除
  • edit.php 修改的信息提交
  • style.css 分頁顯示樣式

1.connect.php 連接數(shù)據(jù)庫

  1. <?php
  2. // 連接數(shù)據(jù)庫
  3. // PDO連接對象
  4. $pdo = new PDO('mysql:host=localhost;dbname=mysqli', 'root', '142536');
  5. // 設(shè)置結(jié)果默認(rèn)獲取方式: 關(guān)聯(lián)數(shù)組
  6. $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

2.page-list.php

  1. <?php
  2. require 'page-data.php';?>
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <title>數(shù)據(jù)展示</title>
  9. <link rel="stylesheet" href="style.css">
  10. </head>
  11. <body>
  12. <table>
  13. <caption>用戶信息表</caption>
  14. <thead>
  15. <tr>
  16. <td>id</td>
  17. <td>姓名</td>
  18. <td>性別</td>
  19. <td>年齡</td>
  20. <td>郵件</td>
  21. <td>手機(jī)</td>
  22. <td>操11作</td>
  23. </tr>
  24. </thead>
  25. <tbody>
  26. <?php foreach ($show as $users):?>
  27. <tr>
  28. <!-- 短標(biāo)簽來簡化變量的顯示 -->
  29. <td><?=$users['id']?></td>
  30. <td><?=$users['username'] ?></td>
  31. <td><?=$users['sex'] ?></td>
  32. <td><?=$users['age'] ?></td>
  33. <td><?=$users['email']?></td>
  34. <td><?=$users['mobile'] ?></td>
  35. <td><button onclick="location.href='handle.php?action=edit&id=<?=$users['id']?>'" >編輯</button>
  36. <button onclick="location.href='handle.php?action=del&id=<?=$users['id']?>'" >刪除</button></td>
  37. </tr>
  38. <?php endforeach ?>
  39. </tbody>
  40. </table>
  41. <p>
  42. <?php show($pages,$page)?>
  43. </p>
  44. </body>
  45. </html>

3.page-data.php分頁處理

  1. <?php
  2. // 連接數(shù)據(jù)庫
  3. require 'connect.php';
  4. //獲取分頁數(shù)據(jù),一定要知道的二個數(shù)據(jù)
  5. //1.每頁顯示的數(shù)量
  6. $zpage = $_GET['zpage'];
  7. if($zpage == "")
  8. {
  9. $num = 5;
  10. }
  11. else
  12. {
  13. $num = $zpage;
  14. }
  15. //2.當(dāng)前頁碼,默認(rèn)為1
  16. $page = $_GET['p'] ?? 1;
  17. //3.計算每一頁的第一條記錄的顯示偏移量
  18. $offset =($page - 1) * $num;
  19. //4.獲取分頁數(shù)據(jù)
  20. $sql = "SELECT * FROM `user` LIMIT {$num} OFFSET {$offset}";
  21. $show = $pdo->query($sql)->fetchAll();
  22. //計算總頁數(shù) SELECT COUNT(`ID`) AS `total` FROM `user`
  23. //計算表中共有多少條記錄
  24. //每一頁顯示幾條
  25. //總頁數(shù) = ceil(記錄總數(shù)/每頁的記錄數(shù)) 向上取整 相當(dāng)于9.1等于10
  26. $sql = "SELECT CEIL(COUNT(`id`)/{$num}) AS `total` FROM `user`";
  27. $pages=$pdo->query($sql)->fetch()['total'];
  28. function show($pages,$page)
  29. {
  30. $w = $pages-1;
  31. $c = $pages-10;
  32. $w1 =$pages-13;
  33. $w2 =$page-7;
  34. $w3 =$page+7;
  35. $show = "<a href=".$_SERVER['PHP_SELF'].">首頁</a>";
  36. $prev =$page-1;
  37. if($prev == 0) $prev = 1;
  38. $show .= "<a href='{$_SERVER['PHP_SELF']}?p={$prev}'>上一頁</a>";
  39. if($pages<10)
  40. {
  41. for($i = 1 ;$i<=$pages;$i++)
  42. {
  43. $href=sprintf('%s?p=%s',$_SERVER['PHP_SELF'],$i);
  44. $active = ($i == $page) ? 'active':NULL;
  45. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$i}' class='{$active}'>{$i}</a>";
  46. }
  47. }
  48. if($pages>=10 && $prev<10)
  49. {
  50. for($i = 1 ;$i<=10;$i++)
  51. {
  52. $href=sprintf('%s?p=%s',$_SERVER['PHP_SELF'],$i);
  53. $active = ($i == $page) ? 'active':NULL;
  54. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$i}' class='{$active}'>{$i}</a>";
  55. }
  56. $show.= "<a href='{$_SERVER['PHP_SELF']}?p=14'>...</a>";
  57. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$w}'>{$w}</a>";
  58. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$pages}'>{$pages}</a>";
  59. }
  60. if($prev >= 10 && $prev < $c)
  61. {
  62. $show.= "<a href='{$_SERVER['PHP_SELF']}?p=1'>1</a>";
  63. $show.= "<a href='{$_SERVER['PHP_SELF']}?p=2'>2</a>";
  64. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$w2}'>...</a>";
  65. for($i = $prev-2 ;$i<=$prev+4;$i++)
  66. {
  67. $href=sprintf('%s?p=%s',$_SERVER['PHP_SELF'],$i);
  68. $active = ($i == $page) ? 'active':NULL;
  69. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$i}' class='{$active}'>{$i}</a>";
  70. }
  71. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$w3}'>...</a>";
  72. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$w}'>{$w}</a>";
  73. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$pages}'>{$pages}</a>";
  74. }
  75. if($prev >=$c)
  76. {
  77. $show.= "<a href='{$_SERVER['PHP_SELF']}?p=1'>1</a>";
  78. $show.= "<a href='{$_SERVER['PHP_SELF']}?p=2'>2</a>";
  79. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$w1}'>...</a>";
  80. for($i = $pages-9 ;$i<=$pages;$i++)
  81. {
  82. $href=sprintf('%s?p=%s',$_SERVER['PHP_SELF'],$i);
  83. $active = ($i == $page) ? 'active':NULL;
  84. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$i}' class='{$active}'>{$i}</a>";
  85. }
  86. }
  87. $next = $page + 1;
  88. if($next >=$pages) $next = $pages;
  89. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$next}'>下一頁</a>";
  90. $show.= "<a href='{$_SERVER['PHP_SELF']}?p={$pages}'>尾頁</a>";
  91. echo $show;
  92. }

4.handle.php 處理修改和刪除

  1. <?php
  2. require 'connect.php';
  3. //獲取操作
  4. $action = $_GET['action'];
  5. $id = $_GET['id'];
  6. switch($action)
  7. {
  8. case 'edit':
  9. include 'edit.php';
  10. break;
  11. case 'doedit':
  12. $sql = 'UPDATE `user` SET `username`=?,`password`=? WHERE `id`=?;';
  13. $stmt = $pdo->prepare($sql);
  14. if (!empty($_POST)) {
  15. $stmt->execute([$_POST['username'],sha1($_POST['password']), $id]);
  16. if ($stmt->rowCount() == 1) echo '<script>alert("更新成功");location.href="page-list.php"</script>';
  17. }
  18. break;
  19. case 'del':
  20. $sql ='DELETE FROM `user` WHERE `id`=?';
  21. $stmt = $pdo->prepare($sql);
  22. $stmt->execute([$id]);
  23. if ($stmt->rowCount() == 1) echo '<script>alert("刪除成功");location.href="page-list.php"</script>';
  24. }

5.edit.php 修改的信息提交

  1. <?php
  2. // 獲取要被編輯的數(shù)據(jù)
  3. $user = $pdo->query("SELECT * FROM `user` WHERE `id`={$id}")->fetch();
  4. //print_r($user);
  5. ?>
  6. <!DOCTYPE html>
  7. <html lang="en">
  8. <head>
  9. <meta charset="UTF-8">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <title>用戶編輯</title>
  12. </head>
  13. <body>
  14. <h3>用戶編輯</h3>
  15. <form action="<? echo $_SERVER['PHP_SELF']. '?action=doedit&id='.$id?>" method="POST">
  16. <p>
  17. <label for="name">用戶名:</label>
  18. <input type="text" name="username" id="username" value="<?=$user['username']?>">
  19. </p>
  20. <p>
  21. <label for="email">密碼:</label>
  22. <input type="password" name="password" id="password" value="******">
  23. </p>
  24. <p>
  25. <button>保存</button>
  26. </p>
  27. </form>
  28. </body>
  29. </html>

示例圖:

總結(jié):在給分頁添加功能,主要是對pages和prev進(jìn)行處理。

批改老師:天蓬老師天蓬老師

批改狀態(tài):合格

老師批語:非常棒
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務(wù)協(xié)議
0條評論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費學(xué)