導航:首頁 > 編程語言 > phpwhilecase

phpwhilecase

發布時間:2023-06-17 21:00:07

Ⅰ 關於php多條件模糊查詢後分頁問題!

<?php
define('IN_JOBS', true);
require_once("./cc_include/common.php");
require_once("./cc_include/page.class.php");
require_once("./cc_include/page_function.php");

require_once("./cc_include/Site_Config.php");

//載入smarty模板
$smarty = new Smarty();
$smarty->template_dir="./templates/default/";
$smarty->compile_dir="./templates_c/default/";
$smarty->cache_dir=CACHE_PATH;
$smarty->left_delimiter="{*";
$smarty->right_delimiter="*}";
$smarty->caching=false;
//開始跑首頁信息
$Gonggao=News(1, 5);
//以上信息為公告和右側的兩個新聞

if (isset($_GET['sousuo'])) $searchname = $_GET['sousuo'];//得到搜索關鍵詞
else if (isset($_POST['sousuo'])) $searchname = $_POST['sousuo'];

if(!isset($searchname))
{
echo "<script>location.href='index.php';</script>";
}
$typename=$_POST['type'];
$shijian=$_POST['rboname'];
$xitongshijian=date("Y-m-d");//獲得系統當前時間
$jianyitian=date('Y-m-d H:i:s',strtotime("$a-1 day"));//減去一天時間

$jiansantian=date('Y-m-d',strtotime("$a-3 day"));//減去三天時間

$jianqitian=date('Y-m-d',strtotime("$a-7 day"));//減去7天時間

switch($typename)
{
case "職位名":
if($shijian=="")
{
$tiaojian="Shenhe=1 and Gzxx like '%".$searchname."%' order by Adddate desc";

}
else if($shijian=="近一天")
{
$tiaojian="Shenhe=1 and Gzxx like '%".$searchname."%' and Adddate between '".$jianyitian."' and '".$xitongshijian."' order by Adddate desc";
}
else if($shijian=="近三天")
{
$tiaojian="Shenhe=1 and Gzxx like '%".$searchname."%' and Adddate between '".$jiansantian."' and '".$xitongshijian."' order by Adddate desc";
}
else if($shijian=="近一星期")
{
$tiaojian="Shenhe=1 and Gzxx like '%".$searchname."%' and Adddate between '".$jianqitian."' and '".$xitongshijian."' order by Adddate desc";
}
break;
case "工作時間":
if($shijian=="")
{
$tiaojian="Shenhe=1 and Gzsj like '%".$searchname."%' order by Adddate desc";
}
else if($shijian=="近一天")
{
$tiaojian="Shenhe=1 and Gzsj like '%".$searchname."%' and Adddate between '".$jianyitian."' and '".$xitongshijian."' order by Adddate desc";
}
else if($shijian=="近三天")
{
$tiaojian="Shenhe=1 and Gzsj like '%".$searchname."%' and Adddate between '".$jiansantian."' and '".$xitongshijian."' order by Adddate desc";
}
else if($shijian=="近一星期")
{
$tiaojian="Shenhe=1 and Gzsj like '%".$searchname."%' and Adddate between '".$jianqitian."' and '".$xitongshijian."' order by Adddate desc";
}
break;
}

$perNumber=5; //每頁顯示的記錄數
$page=$_GET['page']; //獲得當前的頁面值
$count=mysql_query("select count(*) from ejz_wor where ".$tiaojian.""); //獲得記錄總數

$rs=mysql_fetch_array($count);
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //計算出總頁數
if (!isset($page)) {
$page=1;
} //如果沒有值,則賦值1
$startCount=($page-1)*$perNumber; //分頁開始,根據此方法計算出開始的記錄
$sql="select Wor_id,Gzxx,Zprs,Gzsj,Gzyq,Daiyu,Adddate,jipin from ejz_wor where ".$tiaojian." limit $startCount,$perNumber";
$result=mysql_query($sql);
while ($row=mysql_fetch_object($result))
{
?>
<ul>
<li><div class="kf_xian" align="left"><? echo "$row->Gzxx"?> <a href="#" style="text-align:left"><? echo "$row->Gzsj"?></a></div></li>
<li><? echo "$row->Daiyu"?></li>
<li>管理員回復:<? echo "$row->Adddate"?></li>
</ul>
<?
}
if ($page != 1) { //頁數不等於1
?>

<?php echo "總共".$totalPage."頁,";?>
<a href="wj.php?page=<?php echo $page - 1;?>&sousuo=<?php echo $searchname;?>">上一頁</a> <!--顯示上一頁-->
<?php
}
for ($i=1;$i<=$totalPage;$i++) { //循環顯示出頁面
?>
<a href="wj.php?page=<?php echo $i;?>&sousuo=<?php echo $searchname;?>"><?php echo $i ;?></a>
<?php
}
if ($page<$totalPage) { //如果page小於總頁數,顯示下一頁鏈接
?>
<a href="wj.php?page=<?php echo $page + 1;?>&sousuo=<?php echo $searchname;?>">下一頁</a>
<?php
}
?>

Ⅱ php多條件復合查詢

在我們的網站設計過程中,經常會用到多條件查詢,本文的源碼是一個二手房屋查詢的例子。在本例中,我們要實現能夠通過地理位置,物業類型,房屋價格,房屋面積及信息發布日期等多個條件查詢到客戶所需的資料。
查詢文件(search.php)
一、生成查詢語句:
<?
$conn=mysql_connect("localhost","root","");
$db=mysql_select_db("lingyun");
$query="select * from message where tradetype='".$tradetype."'"; //交易類型,如出租,出售
$SQL=$SQL . "wuye='" . $wuye . "'";
if($housetype!="不限"){
$query.=" && housetype='".$housetype."'"; //房屋類型,如二室一廳,三室二廳
}
if($degree!="不限"){
$query.=" && degree='".$degree."'"; //新舊程度
}
if($wuye!="不限"){
$query.=" && wuye='".$wuye."'"; //物業類型 如住房,商鋪
}
if($price2!=""){
switch($price1){
case "大於":
$query.=" && price>'".$price2."'"; //價格
break;
case "等於":
$query.=" && price='".$price2."'";
break;
case "小於":
$query.=" && price<'".$price2."'";
break;
}
}
if($area2!=""){
switch($area1){
case "大於":
$query.=" && area>'".$area2."'"; //面積
break;
case "等於":
$query.=" && area='".$area2."'";
break;
case "小於":
$query.=" && area<'".$area2."'";
break;
}
}
switch($pubdate){ //發布日期
case "本星期內":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=7";
break;
case "一個月內":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=30";
break;
case "三個月內":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=91";
break;
case "六個月內":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=183";
break;
}
if($address!=""){
$query.=" && address like '%$address%'"; //地址
}
if(!$page){
$page=1;
}
?>
二、輸出查詢結果:
<?php
if ($page){
$page_size=20;
$result=mysql_query($query);
#$message_count=mysql_result($result,0,"total");
$message_count=10;
$page_count=ceil($message_count/$page_size);
$offset=($page-1)*$page_size;
$query=$query." order by date desc limit $offset, $page_size";
$result=mysql_query($query);
if($result){
$rows=mysql_num_rows($result);
if($rows!=0){
while($myrow=mysql_fetch_array($result)){
echo "<tr>";
echo "<td width='15' height='12'><img src='image/home2.gif' width='14' height='14'></td>";
echo "<td width='540' height='12'>$myrow[id] $myrow[tradetype] $myrow[address] $myrow[wuye]($myrow[housetype])<font style='font-size:9pt'>[$myrow[date]]</font>";
echo "</td>";
echo "<td width='75' height='12'><a href='view_d.php?code=$myrow[code]' target='_blank'>詳細內容</a></td>";
echo "</tr>";
}
}
else echo "<tr><td><div align='center'><img src='image/sorry.gif'><br><br>沒有找到滿足你條件的記錄</div></td></tr>";
}
$prev_page=$page-1;
$next_page=$page+1;
echo "<div align='center'>";
echo " 第".$page."/".$page_count."頁 ";
if ($page<=1){
echo "|第一頁|";
}
else{
echo "<a href='$PATH_INFO?page=1'>|第一頁|</a>";
}
echo " ";
if ($prev_page<1){
echo "|上一頁|";
}
else{
echo "<a href='$PATH_INFO?page=$prev_page'>|上一頁|</a>";
}
echo " ";
if ($next_page>$page_count){
echo "|下一頁|";
}
else{
echo "<a href='$PATH_INFO?page=$next_page'>|下一頁|</a>";
}
echo " ";
if ($page>=$page_count){
echo "|最後一頁|";
}
else{
echo "<a href='$PATH_INFO?page=$page_count'>|最後一頁|</a>";
}
echo "</div>";
}
else{
echo "<p align='center'>現在還沒有房屋租賃信息!</p>";
}
echo "<hr width="100%" size="1">";
?>
</table>

Ⅲ php中能實現條件控制的語句有哪些

條件控制是指根據表達式的返回值為真(true或非0或非空)還是假(false或0或空)決定後續執行語句的關鍵字,包括

if,elseif,else 如

if(true){
echo'Yes';
}
if($n>0){
echo'Yes';
}else{
echo'No';
}
if($n%3>1){
echo2;
}elseif($n%3>0){//elseif可重復
echo1;
}else{
echo0;
}

以及 switch, case語句,如

switch($n%3){
case2:
echo2;
break;
case1:
echo1:
break;
default:
echo0;
break;
}

switch和if, elseif, else實際上功能相似,只是寫法不同。

while和do, while,for, foreach 是條件循環控制語句,就不舉例了。

另外三元操作符 ?:, 如 ($n > 0) ? echo 'True' : echo 'False'; 相當於if else的簡化版本。

Ⅳ php 怎麼實現mysql觸發器效果

1231231231231231312

觸發器

1. 什麼是觸發器

觸發器是一種特殊類型的存儲過程,不由用戶直接調用。創建觸發器時會對其進行定義,以便在對特定表或列作特定類型的數據修改時執行。

觸發器從本質上來說,是一個存儲過程,但是它與普通的存儲過程不一樣的地方在於,普通的存儲過程是通過CALL方法進行調用的,而觸發器不是用CALL調用,觸發器是在我們提前設定好的事件出現以後,自動被調用的。

2.為什麼要用觸發器

我們在MySQL 5.0中包含對觸發器的支持是由於以下原因:

(1)MySQL早期版本的用戶長期有需要觸發器的要求。

(2)我們曾經許諾支持所有ANSI標準的特性。

(3)您可以使用它來檢查或預防壞的數據進入資料庫。

(4)您可以改變或者取消INSERT, UPDATE以及DELETE語句。

(5)您可以在一個會話中監視數據改變的動作。在這里我假定大家都讀過"MySQL新特性"叢書的第一集--"MySQL存儲過程",那麼大家都應該知道MySQL至此存儲過程和函數,那是很重要的知識,因為在觸發器中你可以使用在函數中使用的語句。特別舉個例子:

①復合語句(BEGIN / END)是合法的.

②流控制(Flow-of-control)語句(IF, CASE, WHILE, LOOP, WHILE, REPEAT, LEAVE,ITERATE)也是合法的.

③變數聲明(DECLARE)以及指派(SET)是合法的.

④允許條件聲明.

⑤異常處理聲明也是允許的.

⑥但是在這里要記住函數有受限條件:不能在函數中訪問表.

因此在函數中使用以下語句是非法的。

ALTER 'CACHE INDEX' CALL COMMIT CREATE DELETE

DROP 'FLUSH PRIVILEGES' GRANT INSERT KILL

LOCK OPTIMIZE REPAIR REPLACE REVOKE

ROLLBACK SAVEPOINT 'SELECT FROM table'

'SET system variable' 'SET TRANSACTION'

SHOW 'START TRANSACTION' TRUNCATE UPDATE

在觸發器中也有完全一樣的限制.觸發器相對而言比較新,因此會有(bugs)缺陷.所以我在這里給大家警告,就像我在存儲過程書中所說那樣.不要在
含有重要數據的資料庫中使用這個觸發器,如果需要的話在一些以測試為目的的資料庫上使用,同時在你對表創建觸發器時確認這些資料庫是默認的。

2.1 觸發器的主要用途

觸發器主要用於在多個有相互關系的表之間,做一些相互關聯的操作。

2.2 臨時表

更新:更新是用一條新的數據 替換一條舊的數據。在系統中,更新操作分為以下2個步驟:

(1)首先,把舊的數據刪掉

(2)把新的數據插入表中。

在進行以上兩個步驟之前,系統又進行了3個步驟:

(1) 系統創建兩張臨時表,臨時表與要操作的表的結構完全相同,僅是結構相同,但是臨時表中並無數據。

(2) 系統向其中一張臨時表插入要更新的數據,

(3) 系統把要刪除的,即要被更新的數據,插入另外一張臨時表當中。

2.2.1 臨時表的叫法:

NEW:用來插入新數據的臨時表

OLD:數據要被替換的臨時表

2.2.2 臨時表的使用

NEW 列名獲取插入值

2.2.3 使用不同的語句與使用臨時表的關系

使用UPDATA語句:可以使用NEW和OLD兩張臨時表

使用INSERT語句:只能使用NEW臨時表

使用DELETE語句:只能使用OLD臨時表

Ⅳ PHP中所有的關鍵字有哪些

PHP關鍵字(68個)
and or xor __FILE__ extends __LINE__ array() as break case class const continue declare default die() do echo else elseif empty() enddeclare endfor endforeach endif endswitch endwhile eval() exit() extends for foreach function global if include include_once isset() list() new print require require_once return static switch unset() use var while __FUNCTION__ __CLASS__ __METHOD__
final(PHP 5) php_user_filter(PHP 5) interface(PHP 5) implements(PHP 5) exception(PHP 5) public(PHP 5) private(PHP 5) protected(PHP 5) abstract(PHP 5) clone(PHP 5) try(PHP 5) catch(PHP 5) throw(PHP 5) cfunction(PHP 4 only) this(PHP 5 only)

Ⅵ php中頁面及條件判斷

當一個 case 語句中的值和 switch 表達式的值匹配時 PHP 才開始執行該語句,你檢查一下他倆是否匹配。

<a href="index.php?lmbs=投票專區&lmlb=<?php echo $tpzt;?>" title="參加投票">中Lmbs=投票專區是你自己定義的,相當於傳值,用$_GET接收。後面的lmlb=<?php echo $tpzt;?>是前面PHP循環出來的變數,它倆你可以在PHP頁面通過get方式得到變數也就是你後面switch裡面所需要的$lmbs and $lmlb。

and是邏輯運算『與』,如果 $lmbs 與 $lmlb 都為 TRUE 的時候結果才為TRUE

Ⅶ php函數如何返回數組啊, 比如,

$a = array();
$a[] = "項目";
$a[] = "標題";
$a[] = "時間";
return $a

閱讀全文

與phpwhilecase相關的資料

熱點內容
吃雞怎麼解壓最快 瀏覽:966
linux網路編程基礎 瀏覽:217
產研是程序員嗎 瀏覽:592
程序員的法律 瀏覽:967
編程第四關用冰雪火焰閃現通關 瀏覽:754
批處理當前文件夾參數 瀏覽:183
鴻蒙安卓如何下載 瀏覽:902
開3389命令 瀏覽:540
程序員大都單純嗎 瀏覽:913
APP如何實現下載功能 瀏覽:214
通達信源碼怎樣放到桌面 瀏覽:643
程序員的腦袋會禿嗎 瀏覽:453
為什麼eve登錄啟動不進去伺服器 瀏覽:270
微信招生app哪個好用 瀏覽:233
寶可夢劍盾啟動文件在哪個文件夾 瀏覽:765
壓縮機比容 瀏覽:117
python自動化測試面試 瀏覽:949
買便宜點的鞋子去哪個app買 瀏覽:890
android中個人頁面 瀏覽:711
程序員那麼可愛逸城前女友 瀏覽:577