⑴ php如何運用if else分別執行三條代碼並輸出各自的結果
PHP中既有else if又有elseif,詳細用法如下:
elseif,和此名稱暗示的一樣,是 if 和 else 的組合。和 else 一樣,它延伸了 if 語句,可以在原來的 if 表達式值為 FALSE 時執行不同語句。但是和 else 不一樣的是,它僅在 elseif 的條件表達式值為 TRUE 時執行語句。
例如以下代碼將根據條件分別顯示
a is bigger than b,a equal to b 或者a is smaller than b:
if($a>$b){
echo"aisbiggerthanb";
}elseif($a==$b){
echo"aisequaltob";
}else{
echo"aissmallerthanb";
}
/*不正確的使用方法:*/
if($a>$b):
echo$a."isgreaterthan".$b;
elseif($a==$b)://將無法編譯
echo"Theabovelinecausesaparseerror.";
endif;
/*正確的使用方法:*/
if($a>$b):
echo$a."isgreaterthan".$b;
elseif($a==$b)://注意使用了一個單詞的elseif
echo$a."equals".$b;
else:
echo$a."isneithergreaterthanorequalto".$b;
endif;
⑵ PHP實現搜索查詢功能的方法技巧
下面是首頁顯示數據表package中的內容,但是有個條件,顯示在首頁的內容還必須是 :欄位status=0,且printing=0的數據才能在首頁列表中顯示出來。
頁面上有一個“搜索”功能,輸入條件後就會根據條件來進行查詢。
一般的搜索的話,只要在首頁顯示列表方法index()中給一個:
?
$map=array();//初始化查詢條件
$map=$this->_search();//調用查詢方法
$total = $this->Model->where ($map)->count(); //這個主要是用來計算頁面顯示數據條數的
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
然後,就是寫一個_search():
protected function _search(){
$map = array ();
$post_data = I ( 'post.' );
if ($post_data ['packageid'] != '') {
$map ['packageid'] = array (
'like',
'%' . $post_data ['packageid'] . '%'
);
}
return $map;
}
最後,在設置的“搜索”菜單中,調用這個搜索方法。
但是,這個搜索的.同時,還要確保在欄位status=0,且printing=0的數據中進行搜索。
這個限制條件該加在什麼地方。各種嘗試和查詢後,才知道。限制條件直接加在SQL語句中就行了(如下紅色的地方)。(我自己試的時候一直在如下藍色的地方加條件,屢試屢敗!)
$map=array();
$map=$this->_search();
$total = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->count();
if ($total == 0) {
$_list = '';
} else {
$_list = $this->Model->where ($map)->where(array('status' =>0,'print_status'=>0))->limit( $post_data ['first'] . ',' . $post_data ['rows'] )->select();
}
⑶ php篩選輸出html (已提供條件)
.....各位都在回答什麼啊....-_-#
你可以在模板里,先匹配出當前URL那個數字,然後在while裡面加判斷,是就輸出,不然不輸出。
<body>
..html代碼...
<?php
$str=$_SERVER['REQUEST_URI'];
$p="/.*/=(d+)/";
$res=array();
preg_match($p,$str,$res);
$cur_url_num=$res[1];//Hold住,模板裡面用變數存起來
?>
<?phpwhile($cate->next()):?>
<?phpif(!$cate->parent):?>
<!--檢查即將輸出的URL是否含有目標數字,是就echo-->
<?phpif(strpos($cate->permalink(),'='.$cur_url_num)!==false):?>
<ahref="<?php$cate->permalink();?>"><?php$cate->name();?></a>
<?phpendif;?>
<?phpendif;?>
<?phpendwhile;?>
..html代碼...
</body>
其實就是多一個步驟,判斷是否你要的URL而已,另外推薦你先檢查有沒有直接輸出當前循環下的ID,例如$cate->id();什麼的,有就這個判斷:if($cate->id() ==$cur_url_num):
⑷ 關於PHP無限循環使用遞歸到一定條件的跳出問題
這個程序好多問題,
首先是沒有遞歸條件,
改成這樣:
$position=syDB('member')->find("id=$id");
$pid_info=syDB('member')->find("id=$position[pid]");
if(empty($position) || empty($pid_info)){
return;
}
其次是沒有返回值,
這個你自己弄,哈。
⑸ thinkphp我按照條件查詢了100條數據,然後我現在想只顯示這100條按條件查詢出的其中某10條該怎麼寫查詢
limit(offset,length)
查詢從offset開始的一共length條,limit(10)其實是limit(0,10),即從0開始共10條數據