thinkphp下网站建设笔记

1、MySql把主键定义为自动增长标识符类型

mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如:

createtable customers(id int auto_increment primarykeynotnull, name varchar(15));insertinto customers(name) values("name1"),("name2");select id from customers;

以上sql语句先创建了customers表,然后插入两条记录,在插入时仅仅设定了name字段的值。最后查询表中id字段,查询结果为:

由此可见,一旦把id设为auto_increment类型,mysql数据库会自动按递增的方式为主键赋值。

注:如当有主键为1~3的3行数据,删除其中一行数据,再次添加一行数据未手动设置主键则主键值仍然递增,为4;

2、Thinkphp的URL大小写问题:

Thinkphp可以在config.php设置大小写不敏感(如下),但是在线上服务器为linux服务器时,linux服务器对URL大小写敏感,导致当thinkphp设置为大小写不敏感时读取的URL地址会出现错误。因此必须将thinkphp设置为大小写敏感。

3、阿里云nginx下设置thinkphp 网站URL rewrite重写和pathinfo模式

打开/alidata/server/nginx/conf/vhosts目录下对应站点的配置文件:比如说test.conf

加入如下代码块:


location / {

 index index.html index.htm index.php;

 if(!-e $request_filename) {

 rewrite ^/index.php(.*)$ /index.php?s=$1 last;

 rewrite ^(.*)$ /index.php?s=$1 last;

 break;

 }

}


红框处为网站文件夹

 

4、Thinkphp实例化数据库模型出现数据表名大小写问题:

当用M()或D()方式实例化数据库时,无论输入的数据表名是否大小写准确,数据表名带有大写字母都无法识别。

因此,将数据库所有数据表名设为全小写。

 

 

5、thinkp下AJAX的使用

1)JS端的实现:使用jQuery实现:

1、包含jQuery文件(使用百度的JS库),在HTML上加上


如果是在js文件下:在js文件前面加上


2、具体实现如下:

 

2)PHP端实现:

1、判断是否有值传过来:post方法


2、通过ajaxReturn函数返回数据,注意是json类型;


6、thinkphp下数据库子查询

当后面->selct()传入条件为->select(false),或换为buildsql();只产生aql语句不查询


然后再执行一下语句(注意红线处加.a),即可以在前面查询的条件下子查询,此例为获得上面查询条件下的最大ID值。

 

7、iframe父子页面参数的传递

1)  父页面调用子页面的JS方法:myFrame.window.方法名();

父页面调用子页面DOM标签值:

myFrame.window.document.getElementById("id值").value;

也可直接给DOM的value赋值:

myFrame.window.document.getElementById("id值").value=值

2)子页面调用父页面JS方法:parent.方法名();

   子页面电泳父页面DOM标签值:parent.window.document.getElementById("id值").value

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值