php+sql2000問題,數組+sql查詢條件

來源:互聯網
上載者:User
PHP SQL Server

$wd1=$_POST['wd1']; //原來是這樣
sql="select * from xxx where pr_id like '%". $wd1."%'";
//**********************************************************
//現在要做成假如輸入:123 王
//sql="select * from xxx where pr_id like '%123%' and name like '%王%'";
//等等就像上面這樣,使用者輸入的條件可能是多個如:123 王 男或者一個
wd1=$_POST['wd1']; //現在接收input資料,
$split_dir = split ('[ ]',$wd1);//我想著轉換成數組
//然後sql server2000語句不知道咋寫了,不知道我的意思表達明白了沒有,我想表達清楚,求解答思路,
sql="???";


回複討論(解決方案)

真心,不會了啊。。求教。。提前感謝各位!!

$where = "1=1";$arr = array('col1','col2','col3');foreach($split_dir AS $key=>$val){$where .= " AND ".$arr[$key]." LIKE '%".$val."%' ";}

$arr是需要在where裡面出現的欄位名,當然了,安全方面的事你自己控制。

這個只是個大概的思路,這個很顯然不夠完善,因為別人可能輸入 123 男 王 或者增加輸入之間的空格,這個都需要你自己去控制

嗯。。謝謝我試試

嘿嘿好了。。。。。我是這樣寫的
$wd1=$_POST['wd1'];
$split_dir = split ('[ ]',$wd1);

$arr = array('編碼','名稱','類別','型號');
$where2=" ";
for($m=0;$m
if($m==(count($split_dir)-1))
{
for($n=0;$n

if($n==(count($arr)-1)){
$where2=$where2.$arr[$n]." like '%".$split_dir[$m]."%'";
}else{
$where2=$where2.$arr[$n]." like '%".$split_dir[$m]."%' or ";
}

}
$where2=$where2." ";
}else{
for($n=0;$n

if($n==(count($arr)-1)){
$where2=$where2.$arr[$n]." like '%".$split_dir[$m]."%'";
}else{
$where2=$where2.$arr[$n]." like '%".$split_dir[$m]."%' or ";
}

}
$where2=$where2." ) and ( ";
}
}

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.