黑马程序员技术交流社区

标题: 知识点总结 [打印本页]

作者: 不会起名    时间: 2019-6-6 08:57
标题: 知识点总结

Day1
再建立一个参考网站(已经完成):
1,用项目资料中的《04-参考代码》里的代码,通过phpstudy的vhosts.ini创建一个站点,比如:bx0.cn
2,在hosts文件中进行域名解析
3,用项目资料中的数据库脚本文件《01-sql》,创建数据库。
4,修改站点跟目录下的config.php文件中的数据库配置信息
5,浏览  http://bx0.cn

php中载入文件:
include_once  ‘文件路径’;
include  ‘文件路径’;
require_once  ‘文件路径’;
require  ‘文件路径’;

获取结果集中一行数据的3个方法:
mysqli_fetch_assoc( $结果集);        //获得关联数组
mysqli_fetch_num( $结果集);        //获得索引数组
mysqli_fetch_array( $结果集);        //获两种都有的数组



Day2
封装公共函数:

连接数据库的封装:

查询数据的封装:


1,字符串分割:
var categoryId = location.search.split(‘=’)[1];

2,函数调用:
function  f1( $p1,  $p2){
$result = $p1 + $p2;
return $result;
}
$re = f1( 1, 2);
(1)参数:
(2)返回值:

3,jquery中ajax的基本语法:
$.ajax({
url : ‘.....’,
//data :  ‘categoryId=2&namejack&age=8’,
data :  { categoryId:2, name:’jack’, age : 8 }
type : ‘post’,
dataType : ‘json’,
success : function ( result ){

}
});


4,接口传参与接收:
$id = $_GET[‘categoryId’];
$name = $_GET[‘name’];
或:
$id = $_POST[‘categoryId’];
$name = $_POST[‘name’];



5,jQuery中each方法的使用:
$.each(数组, function(i,  item ){
i就是索引号
item就是数组的每一项(可能是对象,也可能是元素)
});


6,分页原理:

取出第1页,每页5条:limit 0, 5;
取出第2页,每页5条:limit 5, 5;
取出第3页,每页5条:limit 10, 5;
。。。。。。。
取出第n页,每页5条:limit (n-1)*5, 5;

7,ajax请求的接口文件中返回数据的合理形式:
$response = [
‘code’ => 0,                //或者1(成功),0代表失败
‘msg’ => ‘返回的提示信息’,
‘data’ => 具体要返回的数据(如果有),
‘别的’ => 其他数据
];
echo json_encode( $response );


8,页面跳转传参:
(1)分类导航

(2)详情链接:



Day3
今日主要功能:
登录:
page1.php:   $_SESSION[‘key1’] = ‘ok’;
page2.php:   $v2 = $_SESSION[‘key1’];

抽离公共部分,
左侧导航的开关状态管理:

显示头像和昵称

显示分类列表。

跳转:
前端跳转:
location.href = 'page2.html';

后端跳转:
header("location: page2.html");
或:
header(“refresh: 3; url=page2.html”);

获取当前访问的文件名:
$finename = $_SERVER[‘PHP_SELF’];        //得到类似:”/admin/posts.php”
$filename = strrchr( $finename, ‘/’);        //得到类似:”/posts.php”;
$filename = substr($filename, 1);                //得到类似:’posts.php’;





Day4
添加分类:
1,使用ajax提交。
2,提交前的验证,需要考虑空白字符


es6中模板字符串:
var name = ‘jack’;
var age = 18;
var str1 = ‘我叫’ + name + ‘,年龄为:’  +  age  +  ‘岁’;                //传统拼接方式
var str2 = `我叫${name},年龄为${age}岁`;                //模板字符串
var  obj = {
name : ‘jack’,
age : 18
}
var  str3 = `我叫${obj.name},年龄为${obj.age}岁`;        //模板字符串
var  arr  = [
{
name : ‘jack’,
age : 18
},
{
name : ‘rose’,
age : 19
},
{
name : ‘tom’,
age : 20
}
];
var str4 = ``;                //空字符串
for(var i = 0; i < arr.length; i++){
str4 += `我叫${arr[i].name},年龄为${arr[i].age}岁<br>`;        //模板字符串拼接
}
两个php的数组处理函数:
array_keys:将数组的所有“键”取出,放到一个数组中,并返回该数组
array_values:将数组的所有“值”取出,放到一个数组中,并返回该数组
示例:
$_arr = [
'name'=>'jack',
'slug'=>'ss',
'classname'=>'fire'
];
$keys = array_keys($_arr);        //结果$keys 为:  ['name','slug','classname']
$vals = array_value($_arr);        //结果$vals 为:  [‘jack’, ‘ss’, ‘fire’]

数组和字符串的相互转换函数:
implode():        将一个数组的所有值,用给定的字符串连接起来,得到一个字符串
示例:
$_arr = ['name'=>'jack','slug'=>'ss','classname'=>'fire'];
$str = implode( ‘ | ’,$_arr);                //结果为:’jack|ss|fire’;
explode():        将一个字符串,使用给定字符串“分割”出来,得到一个数组
示例:
$str = ‘aa,bb,cc’;
explode(‘,’ ,$str);                //结果得到数组:[‘aa’, ‘bb’, ‘cc’];
explode(‘bb’, $str);                //结果得到数组:[‘aa,’ , ‘,cc’];
explode(‘b’,$str);                //结果得到数组:[‘aa,’, ‘’, ‘,cc’];

事件委托:
当一个页面中的元素不是在页面打开的时候就存在,而是在之后通过js动态生成,那么此时该元素就不能直接绑定事件,而应该用事件委托的方式进行绑定。
所谓事件委托,就是委托某元素的“一开始就存在的上级元素”原来绑定事件,然后,该元素触发了事件的时候,事件冒泡到该上级元素上,然后去触发事件处理函数。
形式:
$(上级元素).on(‘事件’, ‘实际触发事件的元素’,  function(){ ... } );






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2