PHP新闻发布系统基础:数据库与字段设置详解

8 下载量 111 浏览量 更新于2024-09-01 3 收藏 136KB PDF 举报
本篇教程是关于创建一个简单的PHP新闻发布系统的第一步,主要介绍了使用phpMyAdmin搭建数据库的过程。首先,作者建议在名为yayu的数据库中创建一个名为news的数据表。在设计表结构时,核心知识点包括: 1. **字段概念**:字段是数据库中的基本单位,用于存储数据,例如新闻的发表时间。在这里,时间字段被命名为"time",用以存储不同的发表时间。通过关联其他字段如标题("title")来区分不同的时间。 2. **主键和唯一性**:字段"id"被定义为主键,它是一个自增的阿拉伯数字,确保每个新闻有唯一的标识。设置为自动递增(auto-increment)以简化数据管理。 3. **数据类型**: - `id`:作为整型(tinyint),系统默认长度为4,且设置为主键和唯一键,自动递增。 - `author`:作者字段为变长字符串(varchar),长度设为8,考虑到了可能的国际性,虽然8个字节足够中国作者,但为其他可能的外国作者留有余地。 - `title`:新闻标题字段(varchar,长度60),设置为主键。 - `content`:新闻内容字段(text),由于文本内容长度不限,无需指定长度。 - `source`:来源字段(varchar,长度60)。 - `date`:发表时间字段(datetime),无需指定长度,同样作为主键。 4. **日期时间类型**:`date`字段使用datetime类型,可以存储日期和时间信息,其长度和主键属性是关键设置。 5. **字段长度设定**:对于非整数类型的字段,如varchar,应根据实际需求设置合适的长度,确保足够的空间存储预期数据,同时避免浪费。 本教程的第一部分着重于数据库的基础构建,后续可能还会涉及如何通过PHP操作这些数据库记录,如插入、更新和查询新闻数据等。通过这个教程,读者将学习到如何使用PHP与MySQL配合实现一个基础的新闻发布系统。
2010-01-03 上传
PHP实例之新闻发布系统 Create TABLE `news` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `p_time` DATETIME NOT NULL , `title` VARCHAR( 80 ) NOT NULL , `detail` TEXT NOT NULL ) TYPE = innodb; create table news(id int not null auto_increment primary key, p_time datetime not null, title varchar(80)not null, detail text not null )type=innodb; 数据库连接:conn.php <? $conn = @mysql_connect('localhost','root','')or die(mysql_error()."不能连接到数据库!"); //连接数据库; $db = mysql_select_db('news',$conn); $page_size = 8; //每页最多显示新闻条数; ?> 添加新闻页面:new.php <? $title="新闻发布系统"; include("inc/header.inc");//头文件 ?> <style type="text/css"> <!-- .STYLE1 {font-size: 12px} .title { font-size: 12px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; font-family: "宋体"; color: #993300; line-height: normal; height: 16px; } .field { font-family: "宋体"; font-size: 12px; color: #993333; } .STYLE2 { font-size: 16px; font-weight: bold; } --> </style>

PHP+Mysql新闻发布

<form action="post.php" method="post" name="frm" id="frm">
标题:
<input name="title" type="text" class="title" id="title" size="60" maxlength="80"></td>
内容:
<textarea name="textfield" cols="58" rows="6" class="field"></textarea>
<input name="submit" type="submit" value="发布"></td>
</form> <? include("inc/navbar.inc");//底部 ?> 新闻处理页面:post.php <? include"conn.php"; $title=htmlspecialchars($_POST['title']); $textfield=htmlspecialchars($_POST['textfield']); $pub_time=date('Y')."-".date('m')."-".date('d')." ".date('H').":".date('i').":".date('s'); $query="insert into news(title,detail,p_time)values ('$title','$textfield','$pub_time')"; $result=mysql_query($query); if($result) { echo "发布成功!
"; echo "
新闻列表 继续发布"; } else { echo mysql_error()."
"; echo "发布失败!请返回"; } ?> 新闻列表:list.php <? include "conn.php"; $query = "Select COUNT(*) FROM news"; $result = mysql_query($query); $num = mysql_num_rows($result); $page_count = ceil($num/$page_size); //$offset = ($page_count-1)*$page_size; if(empty($_GET['page'])) { $page = 1; }else { $page = $_GET['page']; if($page<=0) { $page = 1; }else { $page >= $page_count; $page = $page_count-1; } } $query ="Select * FROM `news` orDER BY `id` DESC LIMIT ".($page-1)*$page_count.","."$page_size"; $result = mysql_query($query); ?> <?php while($l_result = mysql_fetch_array($result)) { ?> <?php } ?>
标题
时间
<?php echo $l_result['id'];?>

发布信息
<?php //页码显示 for ($i=1;$i<=($page_count-1);$i++){ echo "".$i." "; } //页码显示 ?> 新闻显示页面:view.php <? include "conn.php"; $query = "Select * FROM news where id=".$_GET['id']; $result = mysql_query($query); $v_result = @mysql_fetch_array($result); ?> <table width="60%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#0066FF"> 标题: <?php echo $v_result['title'];?> 内容: <?php echo $v_result['detail'];?> 返回