HTML+PHP+MySQL实现新闻列表模块(1+X Web前端开发中级 例题)——初稿

news2025/4/15 19:56:28

 📄题目要求 

  • 阅读下列说明、效果图、MySQL数据库操作和代码,进行动态网页开发,填写(1)至(15)代码。

🧩说明

  • 该程序为一个html和php混合的新闻列表模块,使用PHP语言,采用MySQL数据库和mysqli扩展。项目名称为itwang,包括web目录,config目录,class目录,public目录。
  • 其中web目录存放information.php文件。public目录存放图片资源。config目录存放配置文件,class目录存放各种类。

  • 进行动态网页开发,补全代码,在(1)至(15)处填入正确的内容。

🧩效果图

💻HTML+PHP代码

<?php
// 在(1)处补齐代码,开启session
(1);
// 在(2)处补齐代码,使用相对路径,以../开头,导入config.php文件
require_once"(2)";
//自动加载类
spl_autoload_register(function($name){
	require_once"../class/{$name}.class.php";
});
?>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
	<title>项目实战</title>
	<link rel="stylesheet" href="./dist/css/bootstrap.min.css">
	<link rel="stylesheet" type="text/css" href="css/common.css" />
	<link rel="stylesheet" href="css/style.css">
</head>
<body>
<?php require_once"./common/header.html";?>
<div id="information">
	<div class="container">
		<div class="row">
			<div class="col-md-8">
				<div class="container-fluid" style="padding:0;">
					<?php
						//连接数据库遍历数据
						// 在(3),(4),(5),(6)位置根据配置文件中常量分别填写域名,用户名,密码,数据库
						$mysqli=new mysqli((3),(4),(5),(6));
						if ($mysqli->connect_errno) {
						    die('连接失败: ' . $mysqli->connect_error);
						}
						// 设置字符编码
						$mysqli->query("set names utf8");
						//在(7)处补全代码,计算数据表中数据总数
						$total=$mysqli->query("select id from information where status=1")->(7);
						//根据上下文,在(8)处补全代码,设置每页条数的变量 
						(8)=5;
						//在(9)处补全代码,向上取整  
						$maxpage=(9)($total/$showrow);
						//当前页面,如果从前端通过get方法获取了当前页,就给$currentP,否则就是1
						$currentP=empty($_GET['page']) ? 1 : ($_GET['page']>$maxpage?$maxpage:$_GET['page']);
						// mysqli预处理语句
						// 在(10)处填写当前页变量,在(11)处填写每页条数变量
						if($stmt=$mysqli->prepare("select * from information where status=1 limit ".(( (10)-1)* $showrow)." , {(11)}")){    
						$stmt->execute();   //执行语句
						$stmt->bind_result($id,$title,$content,$author,$image,$time,$status);   //绑定字段
						// 在(12)处填写条件循环关键字
						(12) ($stmt->fetch()) {
						?>	
						<div class="row info-content">
						<div class="col-md-5 col-sm-5 col-xs-5">
							<img src="../public/<?php echo $image; ?>" class="img-responsive" alt="" style='width:300px;height:150px;'>
						</div>
						<div class="col-md-7 col-sm-7 col-xs-7">
							<h4><?php echo $title; ?></h4>
							<p class="hidden-xs"><?php echo mb_substr($content, 0,20,"utf-8")."......"; echo "<a href='detail.php?id={$id}'>[阅读全文]</a>"; ?></p>
							<p><?php echo $author;
  echo "&nbsp;&nbsp;&nbsp;&nbsp;".date("Y/m/d",$time); ?></p>
						</div>
					</div>
					<?php		
						}
						$stmt->close();
					}
						?>
				</div>
				<div>
					<?php
					if($total>$showrow){
						// 在(13)处补全代码,实例一个分页类,在(14)处填写数据总数的变量名
						$page=new (13)((14),$showrow);
						// 根据page类,分析并填写(15)处调用方法
						echo $page->(15)(3,4,5,6,7);
					}
					?>
				</div>	
			</div>
			<div class="col-md-4 info-right hidden-xs hidden-sm">
				<blockquote>
					<h2>热门资讯</h2>
				</blockquote>
				<div class="container-fluid">
					<?php    					
					$res=$mysqli->query("select inforid from hot group by inforid order by count(inforid) desc limit 5;");					
					while ($row=$res->fetch_array()) {
						//查询最热门 的资讯的详情						
						$re=$mysqli->query("select * from information where id=".$row[0]);
						$rows=$re->fetch_array(1);
					?>
					<div class="row">
						<div class="col-md-5 col-sm-5 col-xs-5" style="margin: 12px 0; padding: 0">
							<img src="/project/public/<?php echo $rows["image"] ;?>" class="img-responsive" alt="">
						</div>
						<div class="col-md-7 col-sm-7 col-xs-7" style="padding-right: 0">
							<h4><?php echo $rows["title"] ;?></h4>
							<p><?php echo $rows["author"] ;echo date("Y/m/d",$rows["time"]);?></p>
						</div>
					</div>
					<?php
					};
					?>
				</div>
			</div>
		</div>
	</div>
</div>
<?php
$mysqli->close(); 
	require_once"common/footer.html";
	?>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>

🎯实现效果

📰完整答案

试题二(30分)

【问题】(30分)
(1)session_start()
(2)../config/config.php
(3)HOST   (必须大写)
(4)USER   (必须大写)
(5)PSW    (必须大写)
(6)DB    (必须大写)
(7)num_rows
(8)$showrow
(9)ceil
(10)$currentP
(11)$showrow
(12)while
(13)Page
(14)$total
(15)fpage
(每空2分,共30分)


🎯点赞收藏,防止迷路🔥 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深入浅出Spring6】第九期——Spring对事务的支持

因为很多系统都包含事务&#xff0c;所以Spring提供了相关的Api&#xff0c;属于AOP切面编程的二次封装 那么什么是事务&#xff08;Transaction&#xff09;呢&#xff1f; 指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)在一个业务流程中可能需要多条DML联合执…

【Hack The Box】Linux练习-- OpenAdmin

HTB 学习笔记 【Hack The Box】Linux练习-- OpenAdmin &#x1f525;系列专栏&#xff1a;Hack The Box &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月22日&#x1f334; &#x…

Flutter组件--OverflowBox、SizedOverflowBox(子组件超出父组件裁剪)

1.OverflowBox介绍 OverflowBox 允许子控件超出父控件的边界。这个特性主要可以用来实现文字或者按钮角标的. OverflowBox构造函数 const OverflowBox({Key? key,this.alignment Alignment.center,this.minWidth,this.maxWidth,this.minHeight,this.maxHeight,Widget? ch…

java面试强基(8)

String、StringBuffer、StringBuilder 的区别&#xff1f; 可变性 ​ String 是不可变的。StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类&#xff0c;在 AbstractStringBuilder 中也是使用字符数组保存字符串&#xff0c;不过没有使用 final 和 private …

Air780E涂鸦云远程开关-LuatOS

Air780E涂鸦云远程开关-LuatOS 涂鸦智能在远程开关和灯控领域可以算是龙头了&#xff0c;今天就来学习一下&#xff0c;如何接入涂鸦云平台 一、涂鸦云准备 注册账号不写了&#xff0c;自己注册账号即可 1、创建产品 点击产品->极速智能化->产品开发页面的创建产品 …

JDK动态代理

可以针对一些不特定的类或者一些不特定的方法进行代理 可以在程序运行时动态变化代理规则 代理类在程序运行时才创建代理模式成为动态代理 代理类并不是在Java代码中定义好的 而是在程序运行时根据在Java代码中指示动态生成的 Proxy JDK动态代理 面向接口 import java.lang.r…

前后端分离页面(从数据库到前端、后端手把手教你如何搭建 -- 功能实现:增加查询)

目录 一、准备条件 前台 后台 二、数据库设计 建议不要导入&#xff0c;导入有乱码的风险&#xff1b;新建查询运行下面代码更快捷。 三、导入前端项目 导入后使用命令行打开黑窗口&#xff0c;测试一下有没有npm -v环境 如果出现命令无效&#xff0c;就使用管理员身份打开…

SpringAOP(1)-spring源码详解(六)

上篇文章说了spring监听器&#xff0c;监听event&#xff0c;先把事件全部存储在多播器&#xff0c;通过publicEvent来触发多播器发送事件&#xff0c;他可以通过代码注解&#xff0c;或者实现接口的方式来实现事件监听&#xff0c;达到解耦和异步的效果。 Spring监听器-sprin…

Jupyter介绍和安装使用

一. 前言&#xff1a; 最近&#xff0c;小熙发现了一个有意思的工具Jupyter notebook&#xff0c;刚上手熟悉了下&#xff0c;特此记录分享。 二. 简介&#xff1a; 简单介绍并说下用途&#xff1a; Jupyter Notebook是一款开源的web应用&#xff0c;支持markdown编辑&#…

Windows为什么使用广播机制更新信息?

很多 Windows 信息通知机制是基于广播消息&#xff0c;例如&#xff0c;DDE&#xff0c;WM_FONTCHANGE 消息和系统设置的修改等。 当我们知道&#xff0c;消息的广播可能导致系统由于某个窗口停止处理消息而导致整个系统停止时&#xff0c;为什么我们还是使用广播呢&#xff1f…

【解决】VSCode编写C++自定义头文件undefined reference异常问题

最近在使用VSCode编写C程序过程中&#xff0c;自定义一个 *.h 文件&#xff0c;其中包含了函数声明&#xff0c;在主函数中引入头文件后&#xff0c;调用头文件对应C文件中的方法&#xff0c;出现了undefined reference问题&#xff0c;这个主要是配置没有正确造成的&#xff0…

Git——分支(详细解释)

目录 一、概念 1.1 服务器运行模式 1.2 分支概念 1.3 分支的好处 二、分支相关操作 2.1 分支操作 2.2 查看当前分支 2.3 创建分支 2.4 切换分支 2.4.1 切换分支 2.4.2 修改代码并提交&#xff08;完整过程&#xff09; 三、合并分支 3.1 正常合并 3.2 冲突合并&#xff…

DGL学习笔记——第一章 图

提示&#xff1a;DGL用户指南学习中 文章目录一、关于图的基本概念&#xff1f;二、图、节点和边三、节点和边的特征四、从外部源创建图1、从Scipy稀疏矩阵中构建图示例2、从networkx中构建图示例3、从csv中构建图结构总结一、关于图的基本概念&#xff1f; 图是用以表示实体及…

【推荐系统学习笔记】-- 1、推荐系统架构

根本解决的问题&#xff1a;在信息过载的情况下&#xff0c;用户如何高效获取感兴趣的信息。 1 逻辑架构 推荐系统要处理的问题就可以被形式化地定义为&#xff1a;对于某个用户U&#xff08;User&#xff09;&#xff0c;在特定场景C&#xff08;Context&#xff09;下&…

区块链 - 各个国家Web3的现状与趋势

​潜力博主推荐&#xff0c;点上面关注博主↑↑↑ 2022年&#xff0c;元宇宙、NFT 、GameFi、DAO、DeFi 等 Web3 时代的新生事物&#xff0c;正在彻底改写传统商业模式&#xff0c;重塑全球数字商业的版图&#xff0c;一个全新的数字时代正在开启。 美国、欧洲官方开始在 Web…

【构建ML驱动的应用程序】第 4 章 :获取初始数据集

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

C语言——指针初阶详解

&#x1f412;博客名&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;别人可以拷贝我的模式&#xff0c;但不能拷贝我不断往前的激情 目录 1. 指针是什么 2. 指针和指针类型 2.1指针类型的第一个意义 2.2指针类型的第二个意义 3. 野指针 3.1 野指针成因 3.2 如何…

零基础自学javase黑马课程第十六天

零基础自学javase黑马课程第十六天 ✨欢迎关注&#x1f5b1;点赞&#x1f380;收藏⭐留言✒ &#x1f52e;本文由京与旧铺原创&#xff0c;csdn首发&#xff01; &#x1f618;系列专栏&#xff1a;java学习 &#x1f4bb;首发时间&#xff1a;&#x1f39e;2022年11月21日&…

三菱FX3U——ST编程点动与自锁

通过赋值 : 操作符&#xff0c;可以控制元件的状态&#xff1b; Y0:1&#xff0c;使Y0得电&#xff0c; Y0:0,使Y0失电&#xff1b; Y0:TRUE,使Y0得电&#xff0c; Y0:FALSE,使Y0失电; Y2:M0,通过M0的状态来控制Y2&#xff1b; NOT 取反操作&#xff0c; 状态取反&#xff…

活动现场大屏幕互动系统(微信墙)修复版完美PHP源码,带完整素材包和详细使用文档

源码收集于网络&#xff0c;觉得不错&#xff0c;2022-11-18亲测了源码&#xff0c;顺手修复了原来的几处bug。网上的这个源码有个重大bug&#xff0c;就是后台系统配音没法上传音乐文件。我理了一下代码&#xff0c;修复了这个问题&#xff0c;现在后台可以分别给每个模块上传…