⑴ 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条数据