1、获取器不起作用
当你数据库表中的字段为is_display样式的时候,需要使用驼峰命名法。public function getIsDisplayArrt($value){
},当你使用getIs_displayArrt就会失效。
2、解决JS在alert之后window.location.href跳转无法正常执行
今天我就在这个上面遇到了坑,找了半天原因。后来在前端群里问了,他们回答我说把alert注释掉就可以了,我很郁闷为啥先执行alert之后window.location.herf就无法执行。因为有时候需要弹框说明添加成功。
<script type="text/javascript">
$("#form").submit(function(){
var uname=$("#username").val();
var formData = $("#form").serialize();//serialize() 方法通过序列化表单值,创建 URL 编码文本
$.ajax({
type:'post',
url:"{:url('/admin/admin/addadmin')}",
data:formData,
dataType:'json',
success:function(data){
alert(data.msg);
if(data.status==1){
window.location.href="index";
}else{
window.location.href="addadmin";
}
},
error:function(msg){
alert('系统错误,请联系管理员!');
}
})
});
</script>
以上是我之前代码,这个时候需要弹框,那么我们就要可以将alert转到后面去
<script type="text/javascript">
$("#form").submit(function(){
var uname=$("#username").val();
var formData = $("#form").serialize(); //serialize() 方法通过序列化表单值,创建 URL 编码文本
$.ajax({
type:'post',
url:"{:url('/admin/admin/addadmin')}",
data:formData,
dataType:'json',
success:function(data){
if(data.status==1){
window.location.href="index";
}else{
window.location.href="addadmin";
}
alert(data.msg);
},
error:function(msg){
alert('系统错误,请联系管理员!');
}
})
});
</script>
3、有时候你在想如何将如下图所示
那么如何将下图中圈出来的提取出来呢,存到数据库呢?
那你是否会想到用正则表达式来提取呢,是的,可以用正则表达式来提取。并且存入数据库
$path='E:\phpStudy\PHPTutorial\WWW\tp5rbac\public\Kharna_Admin\icons-simpleline.html';
//$path只是文件所在的位置
$str = file_get_contents($path);
$reg1='/data-toggle=\"tooltip\" title=\"(.*?)\".*?>(.*?)<\/li>/i';//匹配所有li相关标签
preg_match_all($reg1,$str,$aarray);
//$aarray所获取的内容很多,有三个数组,所以根据需求选择你想要的数据
// print_r($aarray[1]);
$arr=[];
//将数组重新组装
foreach ($aarray[1] as $key => $value) {
$arr[]=[
'name'=>$value,
'create_time'=>time(),
];
// echo $value;
}
//插入数据库存储
$icon=new Icon();
$res=$icon->saveAll($arr);
所以这里总结一句话,当你需要从页面中提取相关的数据的时候,并且数据量很大,那么我们需要用正则等方法提取,不能使用死方法来做,一个个手工输入实在是太慢了,太浪费时间。
这样就可以解决这个问题。
后续我将继续更新自己在开发过程中遇到的问题