Notes

  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().

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章