php基础练习,php基础教程之综合练习

1.1回顾

1.1.1几个概念

行:也叫记录,实体

列:也叫字段、属性

关系:两个表的公共字段

1.1.2数据库的模型

1、层次模型

2、网状模型

3、关系模型:每个表都是独立的。

1.1.3连接数据库

1、进入MySQL命令的文件夹用cd命令

2、Mysql [-h 数据库地址]–u用户名–p 密码[-P端口]

1.1.4对库进行操作

1、创建数据库

a)Createdatabase 数据库名[选项charset=字符编码]

b)Createdatabase if not exists 数据库名

c)Showcreate database 数据库名

d)Show databases 显示数据库

e)Drop database 数据库名

f)Alterdatabase 数据库名选项

1.1.5对表进行操作

1、创建表的语法

Createtable 表名(

字段名数据类型  [null|not null][default] [auto_increment] [primary key],

字段名数据类型

)charset =字符编码

2、数据类型

a)bigint

b)Int

c)smllint

d)tinyint

e)char  定长

f)varchar可变长度

g)text      大段文本

3、显示创建表的语法

a)Showcreate table 表名[\G]

4、显示所有表

a)Showtables

5、删除表

a)Droptable 表名

b)Drop table  表1,表2,表3

1.1.6对数据进行操作

1、增

a)Insertinto 表(字段名)values (值)

b)值的个数、顺序和字段的个数、顺序必须一致

c)插入字段名的顺序可以和表中的字段顺序不一致。

d)如果插入的值和数据表的字段的个数和顺序是一致的,字段名就可以省略.

e)通过插入null执行插入自动增长

f)通过default来插入默认值

2、删

a)语法:delete from表where条件

b)Deletefrom 表表示删除表中所有数据

3、改

a)语法:update 表set字段=值,字段=值where条件

4、查

a)语法:select 列名from 表where条件order by 排序limit限制

b)可以通过*号代替所有字段

c)Asc表示升序,desc表示降序,默认是升序

d)Limit后面有两个参数,第一个是起始位置,第二个查询个数,起始位置从0开始。

1.2作业

1.2.1复习CSS

CSS是一个样式,作用:控制网页样式,并且将样式和内容分离的一种标记性语言

1.2.2自动分行

将100个图片,每行放10个

php基础练习,php基础教程之综合练习_第1张图片

思路:

首先开启一个表格,然后开启一行,然后循环100次,到10的整数倍的时候关闭行,并且开启新行,最后关闭行,并且关闭表格。

完整代码:

table{

width:980px;

border:#000 solid 1px;

margin:auto;

border-collapse:collapse;  /*collapse:塌陷; 作用:制作细线表格*/

}

td{

border:#000 solid 1px;

text-align:center;

}

for($i=1;$i<=100;$i++)

{

echo '

';

if($i%10==0)

{

echo '

';

}

}

?>

1.2.3求数组的最大值

思路:

假设第0个值是最大,循环比较,如果数组中有一个值比最大值要大,那就把这个值付给最大值。

代码如下:

php基础练习,php基础教程之综合练习_第2张图片

优化上面的代码:

Count()用来计算数组的长度,count()函数放在条件中,如果循环N次,count()执行了N+1次,其实count()只要执行一次即可。

6a7ca2fa41c6f9f34bdc19833fad347e.png

再优化一下,将初始化数组数量放在for循环的初始化中。

6095e7889d6fe31d19aea264da1398fe.png

完整代码如下:

//求数组中的最大值

$num=array(10,20,35,50,45,32,18);

$max=$num[0];//假设第0个值是最大的。

//循环比较,如果数组中有一个值比最大值要大,那就把这个值付给最大值。

for($i=1,$n=count($num);$i

if($num[$i]>$max){

$max=$num[$i];

}

}

echo '最大值是'.$max;

1.2.4求数组的和

php基础练习,php基础教程之综合练习_第3张图片

1.2.5求阶乘

1、设计界面

cc3877782a9d54b9588eacd081c4357f.png

2、求阶乘的业务逻辑

if(isset($_POST['button']))

{

$num=$_POST['num'];  //字符串类型

if($num=='' || !is_numeric($num) || $num<0)

{

echo '请输入大于等于0的数字';

}

else

{

//将字符串数字转成数字类型

$num+=0;

if(is_int($num))

{

if($num==0)

{

echo '0!是1';

}

else

{

$result=1;

for($i=1;$i<=$num;$i++)

{

$result*=$i;

}

echo "{$num}!是{$result}";

}

}

else

{

echo '您收入的不是整数';

}

}

}

?>

求阶乘
请输入一个数:

1.2.6打印水仙花数

水仙花数的特点:三位的数字,满足的条件是abc=a3+b3+c3

第一种方法

php基础练习,php基础教程之综合练习_第4张图片

第二种方法stringsubstr(string$string,int$start[,int$length] )用来截取子字符串。

php基础练习,php基础教程之综合练习_第5张图片

1.2.7九九乘法表

规则:

1、第i行有i列

2、每个乘法都是当前列*当前行

核心代码:

php基础练习,php基础教程之综合练习_第6张图片

美化例题,添加上表格

php基础练习,php基础教程之综合练习_第7张图片

代码如下:

table{

width:980px;

margin:auto;

border-collapse:collapse;

}

tr{

height:35px;

}

td{

padding-left:10px;

border:#000 solid 1px;

}

for($i=1;$i<=9;$i++)

{

echo '

';

for($j=1;$j<=$i;$j++)

{

echo "

{$j}*{$i}=".($j*$i).'';

}

echo '

';

}

?>

1.3MySQL客户端介绍

1、命令行:这种方法不友好

2、Web形式的可视化界面(phpMyAdmin)

优点:只要有浏览器就可以操作数据库

缺点:

a)创建数据库

php基础练习,php基础教程之综合练习_第8张图片

b)创建表

php基础练习,php基础教程之综合练习_第9张图片

php基础练习,php基础教程之综合练习_第10张图片

5e04ea9588846632b9772d6ba28d41a4.png

创建完毕后表结构如下:

php基础练习,php基础教程之综合练习_第11张图片

c)插入数据

php基础练习,php基础教程之综合练习_第12张图片

d)修改、删除数据

php基础练习,php基础教程之综合练习_第13张图片

3、Windows形式的客户端(MySQL-Front和Navicat)

ceae2aec1a5779948975aca16b4a8d78.png

php基础练习,php基础教程之综合练习_第14张图片

php基础练习,php基础教程之综合练习_第15张图片

php基础练习,php基础教程之综合练习_第16张图片

php基础练习,php基础教程之综合练习_第17张图片

1.4数据的导入和导出

1.4.1数据导出

选择数据库——导出

php基础练习,php基础教程之综合练习_第18张图片

d06921caebd2839062c6a2fed52d6e38.png

点击执行后,就把表和数据生成SQL语句并保存下来。

1.4.2数据导入

1、创建一个数据库。

2、选择数据库,点击导入

php基础练习,php基础教程之综合练习_第19张图片

1.5综合项目

php基础练习,php基础教程之综合练习_第20张图片

在项目中,PHP充当MySQL数据库的客户端,通过PHP连接数据库并且操作数据库的。

1.5.1PHP开启MySQLI扩展

PHP本身是一个框架,它的功能是由PHP扩展而来的,要通过PHP连接数据库,必须开启php连接MySQLI的功能,也就是php的mysql扩展。PHP的开发离不开数据库,而在PHP中可以通过MySQLi连接数据库的。但是MySQLi只能连接mysql数据库。同时mysqli是一种面向对象的技术

在php.ini中,将extension=php_mysql.dll前面的分号去掉,重启服务器。

1c29aca11e3fe34e7dbd71d5f92adfab.png

1.5.2创建数据库

通过phpMyAdmin新建一个data数据库,并将准备好的SQL文件导入到数据库中。

1.5.3连接数据库

使用面向对象进行数据库的连接,在创建对象的时候就自动的连接数据

php基础练习,php基础教程之综合练习_第21张图片

1.5.4终止执行

exit([参数])和die([参数]),终止执行后,body、head闭合标签都不见了

1da335e9923866abfbd135dc0097fd54.png

1.1.1设置字符编码

f8709e6443126461dd54726c2bb1a546.png

1.5.5查询数据库

通过$mysqli->query()执行SQL语句,返回一个对象型的数据。

7aeb6a2288e7fc4f89e026ac86ee4389.png

1.5.6取出结果集中数据(fetch_row)

开始匹配,指针指向第一个记录,取出资源中的当前记录,匹配成索引数组,指针下移一条。

php基础练习,php基础教程之综合练习_第22张图片

字段的索引从0开始依次往后递增

0e73d5ac211273c70789dfe440d7c37a.png

php基础练习,php基础教程之综合练习_第23张图片

全部取出,用while循环

php基础练习,php基础教程之综合练习_第24张图片

缺点:数据库字段的个数发生了变化,会影响程序中数组的索引编号

1.5.7取出结果集中数据(etch_assoc)

开始匹配时候指针指向第一个记录,取出资源中的当前记录,匹配成关联数组,指针下移一条。

数组的键和数据表的字段名相关联

php基础练习,php基础教程之综合练习_第25张图片

1.5.8取出结果集中数据(etch_array)

开始匹配时候指针指向第一个记录,取出资源中的当前记录,匹配成的数组既支持关联数组,又支持索引数组指针下移一条。

php基础练习,php基础教程之综合练习_第26张图片

1.5.9取出结果集中数据(fetch_object)

从记录集中取出一条数据,匹配成对象,指针下移一条,一条记录是一个对象,一个字段就是一个属性。

在PHP中通过->符号调用对象的属性

php基础练习,php基础教程之综合练习_第27张图片

1.6释放资源

用$res->free()释放资源;

e9d7acc7564f4a4e33937a92d821e8bc.png

1.7关闭连接

d87b51b4929eaadec80495965b4d24c8.png

页面执行完毕后,所有的变量全部销毁,所以可以不用手动释放资源。

你可能感兴趣的:(php基础练习)