您的位置 首页 php

我的php学习第二十三天——MySQL数据库编程的步骤

1. MySQL 数据库编程的步骤

第一步:连接MySQL 服务器

$link = mysql_connect($db_host,$db_user,$db_pwd);

返回值:连接成功返回资源标识符(转成布尔值true),连接失败返回false.

第二步:选择当前数据库

my sql _select_db($db_name,$link);

返回值:布尔值

第三步:设置返回数据的字符集

mysql_query(“set names utf8”);

第四步:执行SQL语句

增加:INSERT INTO table_name(title,author,addate) VALUES(‘新闻标题’,’admin’,’2014-06-11’)

删除:DELETE FROM table_name WHERE id=100

修改:UPDATE table_name SET title=”新的标题”,author=”zhangsan” WHERE id=100

查询:SELECT * FROM table_name WHERE id<100 ORDER BY id DESC LIMIT 0,10

$result = mysql_query($sql);

返回值:只有SELECT 语句会返回资源标识符( 结果集) ,其它的返回真、假值。

第五步:针对SELECT 语句

$arr = mysql_fetch_row($result); //返回枚举数组,每次只取一个行记录

$arr = mysql_fetch_array($result); //返回混合数组

$arr = mysql_fetch_assoc($result); //返回关联数组

2.新闻类别模块

(1 )新闻类型的数据表:007_class_news

1dc30001f9f7847aa9f7

id:新闻类别的id号

classname:类型名称

borderby:排序字段

2 )增加一个新闻类别

先有表单,单击“提交按钮”提交表单;

表单数据发往PHP程序进行处理;

处理完后,将表单数据写进数据库。

007_class_news.php

3 )读取所有的记录

class_news_manage.php

关键代码: SELECT * FROM 007_class_news ORDER BY orderby ASC,id DESC

如果记录为空,则输出“该模块没有记录,请你先添加”

如果记录不空,则输出所有的类别。

4 )删除一条记录

class_news_del.php

关键的代码:DELETE FROM 007_class_news WHERE id=100

获取传递过来的id值,并进行判断。

如果id不存在,则跳到错误页面;

如果id存在,则执行删除SQL语句,再跳到成功页面

5 )修改一条记录

class_news_edit.php

关键的代码: UPDATE 007_class_news SET classname=’$classname’,orderby=$orderby WHERE id=100

先读取要修改记录内容,并写入到表单中

进行修改,提交表单。

更新数据库

3.新闻模块

新闻类别表(007_class_news) 和新闻表(007_news) 的关系

1dc00000d84655a8b895

007_news 数据表的结构

1dc20000dc7b64ecab05

cat:新闻的类别ID,对应于007_class_news中的ID值。

title:新闻的标题

author:新闻的发布人

source:文章来源

keywords:这条新闻的关键字,主要用于网站优化;

descrition:新闻的简介,主要用于网站优化;

orderby:新闻的排序,如果后面的某条新闻,想排到前面时间,可以把orderby的值改小一点;

content:新闻的内容,图文混排。需要安装FCKEditor在线编辑器,kindeditor是国内的;

hits:访问量,单击率

addate:新闻的发布时间,获取的是time()的值;

kindeditor 在线编辑器

引入kindeditor在线编辑器,kindeditor是用纯JS开发的,和Word很像。

Kindeditor在网上都可以随时下载到。

Kindeditor文件夹的目录:adminjseditor

Kindeditor的首页文件:adminjskindeditor-min.js

/*********************************************************

<script charset=”utf-8″ src=”js/editor/kindeditor-min.js”></script>

<script charset=”utf-8″ src=”js/editor/lang/zh_CN.js”></script>

<script>

//加入在线编辑器

var editor;

KindEditor.ready(function(K) {

editor = K.create(‘textarea[name=”content”]’, {

allowFileManager : true

});

});

</script>

<textarea id=”content” name=”content” style=”width:100%;height:300px;visibility:hidden;”></textarea>

****************************************************************

以上代码实现,将<textarea>标记替换成KindEditor在线编辑器。

读取新闻类型的数据

$sql = “SELECT * FROM {$db_prefix}class_news ORDER BY orderby ASC”;

<select name=”cat”>

<?php

//读取新闻类别表的数据:007_class_news

$sql = “SELECT * FROM {$db_prefix}class_news ORDER BY orderby ASC”;

$result = mysql_query($sql);

while($row=mysql_fetch_assoc($result))

{

echo “<option value='”.$row[“id”].”‘>”.$row[“classname”].”</option>n”;

}

?>

</select>

新闻分页

1dc30001f9f834a24e32

分页模块:可以会涉及到以下几个变量

pages ize:每页显示的数据;

page:当前页,一般是通过地址栏传递过来的参数;

records:符合条件的总记录数,通过“SELECT * FROM table_name WHERE id<500”

pages:总页数;总记录数/每页显示的大小 $pages = ceil($records/$pagesize)

startrow:开始行号,每页的开始行号都不一样,计算公式:$startrow = ($page-1)*$pagesize

1dc30001f9fab41b88db

分页的SQL语句: SELECT * FROM 007_news LIMIT $startrow,$pagesize

4.网站前台新闻模块

Index.php 网站前台首页,输出前8条记录

News.php 新闻列表页

Newsdetail.php 新闻详细内容页

网站前台应该是三层结构:网站首页——模块列表页——详经内容页

文章来源:智云一二三科技

文章标题:我的php学习第二十三天——MySQL数据库编程的步骤

文章地址:https://www.zhihuclub.com/35522.shtml

关于作者: 智云科技

热门文章

网站地图