一 mysql查找一個表中字段相同的數據 2019-05-10 15:51:03
SELECT product_record_id FROM `t_warehouse_record` where document_id = 112 and document_type = 1 GROUP BY `product_record_id` HAVING COUNT(*) > 1
多字段
SELECT * FROM `t_warehouse_record` a WHERE 1 and a.document_id = 112 and a.document_type = 1 and a.product_record_id in (SELECT product_record_id FROM `t_warehouse_record` where document_id = 112 and document_type = 1 GROUP BY `product_record_id` HAVING COUNT(*) > 1)
二 Referer的作用?2019-05-17 10:03:48 (來自網絡)
1.防盜鏈
我在www.google.com裏有一個www.baidu.com鏈接,那麼點擊這個www.baidu.com,它的header信息裏就有:
Referer=http://www.google.com
那麼可以利用這個來防止盜鏈了,比如我只允許我自己的網站訪問我自己的圖片服務器,那我的域名是www.google.com,那麼圖片服務器每次取到Referer來判斷一下是不是我自己的域名www.google.com,如果是就繼續訪問,不是就攔截。
這是不是就達到防盜鏈的效果了?
將這個http請求發給服務器後,如果服務器要求必須是某個地址或者某幾個地址才能訪問,而你發送的referer不符合他的要求,就會攔截或者跳轉到他要求的地址,然後再通過這個地址進行訪問。
2.防止惡意請求
比如靜態請求是*.html結尾的,動態請求是*.shtml,那麼由此可以這麼用,所有的*.shtml請求,必須 Referer 爲我自己的網站。
Referer=http://www.google.com
注意:只有通過鏈接訪問當前頁的時候,才能獲取上一頁的地址,以下情況是獲取不到值的:
只有通過鏈接訪問當前頁的時候,才能獲取上一頁的地址
1,window.open
2,直接輸入地址
3,改變location
4,<a href="javascript:location='url'">xx</a>
三 通過引用方式實現無限極分類
/**
* 把返回的數據集轉換成Tree
* @param array $list 要轉換的數據集
* @param string $pk 自增字段(欄目id)
* @param string $pid parent標記字段
* @return array
* @author dqs <[email protected]>
*/
function make_tree($list,$pk='id',$pid='pid',$child='_child',$root=0){
$tree=array();
$packData=array();
foreach ($list as $data) {
$packData[$data[$pk]] = $data;
}
foreach ($packData as $key =>$val){
if($val[$pk]==$root){//代表跟節點
$tree[]=& $packData[$key];
}else{
//找到其父類
$packData[$val[$pid]][$child][]=& $packData[$key];
}
}
return $tree;
}
四 TP5 閉包傳參的whereOr 查詢
$where['id'] = $document_id;
$where['from__id'] = $own_warehouse;
$where['from_type'] = 0;
$whereor['id'] = $document_id;
$whereor['receiving_id'] = $own_warehouse;
$whereor['receiving_type'] = 0;
$document_info = db('insurance')->where(function($query) use ($where){$query->where($where);
})->whereOr(function($query) use ($whereor){$query->where($whereor);
})->order('create_time desc')->find();
五 tp5 hasone()
<?php
namespace app\model;
use think\Model;
class insurance extends Model{
public function logistics(){
return $this->hasOne('logisticsCompany', 'id', 'logistics_company');
}
}
$detail = model('insurance')->find();
$logisticsName = $detail['logistics']['name'];
注意:
model的hasone函數不要下劃線,直接寫成一個單詞(暫未驗證駝峯是否可行). 如果logistics() 寫成logistics_ok(),則取不到關聯,可以寫成logisticsok(),暫未驗證logisticsOk().