㈠ php字元串中有date,怎麼給這個date賦值
date是php的內置函數名,不能用作自定義對象的屬性名,會引起php的歧義(通俗來說就是date已經被php自己用了,那麼你作為用戶就不能再用了),所以應該改為其他名稱,比如$data->data->date1
如果一定要用date,則可以這樣:
$data->data['date']
㈡ PHP是什麼
PHP(PHP:Hypertext Preprocessor遞歸縮寫)中文名字是:「超文本預處理器」,是一種廣泛使用的通用開源腳本語言,適合於Web網站開發,它可以嵌入HTML中。編程范型是面向對象、命令式編程的,截止2019年4月24日為止,最新的版本是PHP 5.6.0(28 Aug 2014),其操作的系統為windows/linux/Mac跨平台。
(2)php02d擴展閱讀:
PHP的功能
1、創建博客
使用PHP創建博客wordpres,可以輕松創建博客。即使您不具備PHP知識,也可以使用它,但如果您可以編寫PHP,則可以自定義您的博客並創建主題。
2、網站開發
60%全球互聯網網站採用php技術,80%國內互聯網網站使用php開發。這些網站包含購物網站,政府企業網站,QQ空間,論壇博客等等。
3、移動端微網站開發以及小程序
移動設備的普及為移動互聯網的快速發展奠定了基礎!手機淘寶網站,手機京東網站等等, 微信公眾號應用中的微網站。
㈢ 請問php中的轉義字元是什麼 能詳細說一下嗎
在php中:
* 以單引號為定界符的php字元串,支持兩個轉義\'和\\
* 以雙引號為定界符的php字元串,支持下列轉義:
\n 換行(LF 或 ASCII 字元 0x0A(10))
\r 回車(CR 或 ASCII 字元 0x0D(13))
\t 水平製表符(HT 或 ASCII 字元 0x09(9))
\\ 反斜線
\$ 美元符號
\" 雙引號
\[0-7]{1,3} 此正則表達式序列匹配一個用八進制符號表示的字元
\x[0-9A-Fa-f]{1,2} 此正則表達式序列匹配一個用十六進制符號表示的字元
舉幾個例子:
一個包含\0特殊字元的例子:
$str = "ffff\0ffff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
輸出結果:
----------------------
9
102 102 102 102 0 102 102 102 102
替換特殊字元的例子
$str = "ffff\0ffff";
$str = str_replace("\x0", "", $str);
//或者用$str = str_replace("\0", "", $str);
//或者用$str = str_replace(chr(0), "", $str);
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
輸出結果:
----------------------
8
102 102 102 102 102 102 102 102
八進制ascii碼例子:
//注意,符合正則\[0-7]{1,3}的字元串,表示一個八進制的ascii碼。
$str = "\0\01\02\3\7\10\011\08\8"; //這里的\8不符合要求,被修正為"\\8" (ascii為92和56)
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
輸出結果:
----------------------
11
0 1 2 3 7 8 9 0 56 92 56
十六進制ascii碼例子:
$str = "\x0\x1\x2\x3\x7\x8\x9\x10\x11\xff";
echo(strlen($str));
echo("\n");
for($i=0;$i<strlen($str);$i++)echo("\t".ord($str{$i}));
echo("\n");
輸出結果:
----------------------
10
0 1 2 3 7 8 9 16 17 255
㈣ php數組處理問題
直接給你上代碼和效果了。
建議1:合計最後一行可以讓前端處理。
建議2:下次在發問題的時候,把所有場景的數組已文本的形式貼在問題里,不然在給你解決問題的過程中數據部分都得照著你的圖片打出來(坑~)
效果圖:
<?php
$array=array(
array(
'create_time'=>'2018-02-1415:36:32',
'receivable_balance'=>'200.00',
'name'=>'李四',
'business_id'=>2
),
array(
'create_time'=>'2018-02-2115:36:31',
'receivable_balance'=>'200.00',
'name'=>'李四',
'business_id'=>2
),
array(
'create_time'=>'2018-02-2115:30:13',
'receivable_balance'=>'-1000.00',
'name'=>'王五',
'business_id'=>3
),
array(
'create_time'=>'2018-02-2715:30:13',
'receivable_balance'=>'-1000.00',
'name'=>'王五',
'business_id'=>3
),
array(
'create_time'=>'2018-02-2715:30:14',
'receivable_balance'=>'-2000.00',
'name'=>'王五',
'business_id'=>3
),
array(
'create_time'=>'2018-02-2815:30:14',
'receivable_balance'=>'2000.00',
'name'=>'王五',
'business_id'=>3
)
);
//把所有的日期拿出來組合table標題
$dates=[];
foreach($arrayas$key=>$val){
$date=date('Y-m-d',strtotime($val['create_time']));
if(!in_array($date,$dates)){
array_push($dates,$date);
};
}
//日期正序
sort($dates);
/**
*組合新數組
*/
$listsArray=[];
$sumArray=[];
foreach($arrayas$key=>$val){
$date=date('Y-m-d',strtotime($val['create_time']));
//列表
if(isset($listsArray[$val['name']][$date])){
//如果某人一天多次進行累加
$listsArray[$val['name']][$date]['receivable_balance']=bcadd($listsArray[$val['name']][$date]['receivable_balance'],$val['receivable_balance'],2);
}else{
$listsArray[$val['name']][$date]=$val;
}
//合計
if(!isset($sumArray[$date]['sum'])){//如果當天日期沒有的設置為0
$sumArray[$date]['sum']=0.00;
}
$sumArray[$date]['sum']=bcadd($sumArray[$date]['sum'],$val['receivable_balance'],2);
}
$table="<tableborder='1'>";
//標題行開始
$table.="<tr>";
$table.="<td>序號</td><td>業務員</td>";
foreach($datesas$date){
$table.="<td>".$date."</td>";
}
$table.="</tr>";
//標題行結束
//列表數據開始
$i=1;
foreach($listsArrayas$name=>$val){
$table.="<tr>";
$table.="<td>".$i."</td><td>".$name."</td>";
foreach($datesas$date){
if(isset($val[$date])){
$table.="<td>".$val[$date]['receivable_balance']."</td>";
}else{
$table.="<td>"."--"."</td>";
}
}
$table.="</tr>";
$i++;
}
////列表數據結束
//合計數據開始
$table.="<tr>";
$table.="<td> </td><td>合計:</td>";
foreach($datesas$date){
$table.="<td>".$sumArray[$date]['sum']."</td>";
}
$table.="</tr>";
//合計數據結束
$table.="</table>";
echo$table;
㈤ PHP是什麼
PHP是PHP的遞歸首字母縮寫:Hypertext Preprocessor,一種用於創建動態和互動式HTML網頁的腳本語言。當網站訪問者打開頁面時,伺服器處理PHP命令,然後將結果發送到訪問者的瀏覽器。
主要特點
①開源性和免費性
由於PHP的解釋器的源代碼是公開的,所以安全系數較高的網站可以自己更改PHP的解釋程序。另外,PHP運行環境的使用也是免費的。
②快捷性
PHP是一種非常容易學習和使用的一門語言,它的語法特點類似於C語言,但又沒有C語言復雜的地址操作,而且又加入了面向對象的概念,再加上它具有簡潔的語法規則,使得它操作編輯非常簡單,實用性很強。
③資料庫連接的廣泛性
PHP可以與很多主流的資料庫建立起連接,如MySQL、ODBC、Oracle等,PHP是利用編譯的不同函數與這些資料庫建立起連接的,PHPLIB就是常用的為一般事務提供的基庫。
④面向過程和面向對象並用
在PHP語言的使用中,可以分別使用面向過程和面向對象,而且可以將PHP面向過程和面向對象兩者一起混用,這是其它很多編程語言是做不到的。
(5)php02d擴展閱讀
PHP優點
①流行,容易上手
PHP是目前最流行的編程語言,這毋庸置疑。它驅動全球超過2億多個網站,有全球超過81.7%的公共網站在伺服器端採用PHP。PHP常用的數據結構都內置了,使用起來方便簡單,也一點都不復雜,表達能力相當靈活。
②開發職位很多
在伺服器端的網站編程中PHP會更容易幫助你找到工作。很多互聯網相關企業都在使用PHP開發框架,所以可以說市場對PHP的開發程序員的需求還是比較大的。
③仍然在不斷發展
PHP在不斷兼容著類似closures和命名空間等技術,同時兼顧性能和當下流行的框架。版本是7之後,一直在提供更高性能的應用。
④可植入性強
PHP語言在補丁漏洞升級過程中,核心部分植入簡單易行,且速度快。
⑤拓展性強
PHP語言在資料庫應用過程中,可以從資料庫調取各類數據,執行效率高
㈥ php 的日期函數的問題
date函數返回各種格式的日期值,date(格式,[日期]),第一個參數是格式,第二個參數是日期,第二個參數可以省略(當前日期),例如date('l')就得到當前星期的完整名稱,參數是小寫的字母L,結果是Sunday 到 Saturday。
date函數詳細的格式字元如下:
格式字串可以識別以下 format 參數的字元串
format 字元
說明
返回值例子
日 --- ---
d 月份中的第幾天,有前導零的 2 位數字 01 到 31
D 星期中的第幾天,文本表示,3 個字母 Mon 到 Sun
j 月份中的第幾天,沒有前導零 1 到 31
l(「L」的小寫字母) 星期幾,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天數後面的英文後綴,2 個字元 st,nd,rd或者 th。可以和 j 一起用
w 星期中的第幾天,數字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第幾天 0 到 366
星期 --- ---
W ISO-8601 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加的) 例如:42(當年的第 42 周)
月 --- ---
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 數字表示的月份,有前導零 01 到 12
M 三個字母縮寫表示的月份 Jan 到 Dec
n 數字表示的月份,沒有前導零 1 到 12
t 給定月份所應有的天數 28 到 31
年 --- ---
L 是否為閏年 如果是閏年為 1,否則為 0
o ISO-8601 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位數字完整表示的年份 例如:1999 或 2003
y 2 位數字表示的年份 例如:99 或 03
時間 --- ---
a 小寫的上午和下午值 am 或 pm
A 大寫的上午和下午值 AM 或 PM
B Swatch Internet 標准時 000 到 999
g 小時,12 小時格式,沒有前導零 1 到 12
G 小時,24 小時格式,沒有前導零 0 到 23
h 小時,12 小時格式,有前導零 01 到 12
H 小時,24 小時格式,有前導零 00 到 23
i 有前導零的分鍾數 00 到 59>
s 秒數,有前導零 00 到 59>
時區 --- ---
e 時區標識(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否為夏令時 如果是夏令時為 1,否則為 0
O 與格林威治時間相差的小時數 例如:+0200
P 與格林威治時間(GMT)的差別,小時和分鍾之間有冒號分隔(PHP 5.1.3 新加) 例如:+02:00
T 本機所在的時區 例如:EST,MDT(【譯者注】在 Windows 下為完整文本格式,例如「Eastern Standard Time」,中文版會顯示「中國標准時間」)。
Z 時差偏移量的秒數。UTC 西邊的時區偏移量總是負的,UTC 東邊的時區偏移量總是正的。 -43200 到 43200
完整的日期/時間 --- ---
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數
㈦ php分割中英文字元串的幾種方
對一段文字按照字數進行分割,因為文字中可能是中英文混合的,而php函數strlen只能計算出字串的位元組數,於是自己實現了幾個函數,分享下。
例1,計算字元總長度。
01<?php
02functionccStrLen($str)#計算中英文混合<ahref="/"target="_blank"class="infotextkey">字元串</a>的長度
03{
04$ccLen=0;
05$ascLen=strlen($str);
06$ind=0;
07$hasCC=ereg(」[xA1-xFE]「,$str);#判斷是否有漢字
08$hasAsc=ereg(」[x01-xA0]「,$str);#判斷是否有ASCII字元
09if($hasCC&&!$hasAsc)#只有漢字的情況
10returnstrlen($str)/2;
11if(!$hasCC&&$hasAsc)#只有Ascii字元的情況
12returnstrlen($str);
13for($ind=0;$ind<$ascLen;$ind++)
14{
15if(ord(substr($str,$ind,1))>0xa0)
16{
17$ccLen++;
18$ind++;
19}
20else
21{
22$ccLen++;
23}
24}
25return$ccLen;
26}
27?>
例2,從左側截取字元串。
01<?php
02functionccStrLeft($str,$len)#從左邊截取中英文混合字元串
03{
04$ascLen=strlen($str);if($ascLen<=$len)return$str;
05$hasCC=ereg(」[xA1-xFE]「,$str);#同上
06$hasAsc=ereg(」[x01-xA0]「,$str);
07if(!$hasCC)returnsubstr($str,0,$len);
08if(!$hasAsc)
09if($len&0×01)#如果長度是奇數
10returnsubstr($str,0,$len+$len-2);
11else
12returnsubstr($str,0,$len+$len);
13$cind=0;$flag=0;$reallen=0;//實際取位元組長
14while($cind<$ascLen&&$reallen<$len)
15{//bywww.jbxue.com
16if(ord(substr($str,$cind,1))<0xA1){//如果該位元組為英文則加一
17$cind++;
18}else{//否則加2個位元組
19$cind+=2;
20}
21$reallen++;
22}
23returnsubstr($str,0,$cind);
24}
25?>
例3,把給定文字,按切割數量存入數組(適合短篇文字,長文章可沒分隔一部分就直接處理一次)
viewsourceprint?
01<?php
02functionSplitContent($content,$smslen){
03$str_tmp=$content;
04$arr_cont=array();
05$len_tmp=0;
06$i=0;//分割絕對位置
07while(strlen($str_tmp)>0){
08$str_tmp=ccStrLeft($str_tmp,$smslen);
09array_push($arr_cont,$str_tmp);
10$i+=strlen($str_tmp);
11$str_tmp=substr($content,$i,strlen($content));
12}
13return$arr_cont;
14}//bywww.jbxue.com
15?>
測試:
1<?php
2$str=』a計算中英文混合1234字元串的長度abcd』;
3echo$str.』的長度為:』.ccStrLen($str);
4echo『<br>』;
5$smslen=3;//截取長度
6print_r(SplitContent($str,$smslen));
7?>
㈧ php 時間格式化
<?php
//設定要用的默認時區。自PHP5.1可用
date_default_timezone_set('UTC');
//輸出類似:Monday
echodate("l");
//輸出類似:Monday15thofAugust200503:12:46PM
echodate('ldSofFYh:i:sA');
//輸出:July1,2000isonaSaturday
echo"July1,2000isona".date("l",mktime(0,0,0,7,1,2000));
/*在格式參數中使用常量*/
//輸出類似:Mon,15Aug200515:12:46UTC
echodate(DATE_RFC822);
//輸出類似:2000-07-01T00:00:00+00:00
echodate(DATE_ATOM,mktime(0,0,0,7,1,2000));
//列印出當前日期
echodate('Y年m月d日');
//格式化已有時間
echodate('Y年m月d日',strtotime('1986-12-05'));
/*
輸出
Monday
Monday16thofApril201202:04:36PM
July1,2000isonaSaturday
Mon,16Apr1214:04:36+0000
2000-07-01T00:00:00+00:00
2012年04月16日
*/
?>
㈨ php日期函數
echo date('D d-M-Y');
輸出的結果是:
Tue 20-Jan-2009
符合樓主的要求
echo date('r');
輸出的結果是:
Tue, 20 Jan 2009 04:37:27 +0000
並不符合樓主的要求
樓主應該明白使用date函數,但是那個r等,究竟是什麼意思呢,下面粘貼一下date函數的用法:
date -- 格式化一個本地時間/日期
調用格式:
string date ( string format [, int timestamp] )
兩個參數,第一個是格式串,第二個是時間值,省略就表示當前時間。
格式串的含義如下:
format 字元 說明 返回值例子
d 月份中的第幾天,有前導零的 2 位數字 01 到 31
D 星期中的第幾天,文本表示,3 個字母 Mon 到 Sun
j 月份中的第幾天,沒有前導零 1 到 31
l(「L」的小寫字母) 星期幾,完整的文本格式 Sunday 到 Saturday
N ISO-8601 格式數字表示的星期中的第幾天(PHP 5.1.0 新加) 1(表示星期一)到 7(表示星期天)
S 每月天數後面的英文後綴,2 個字元 st,nd,rd 或者 th。可以和 j 一起用
w 星期中的第幾天,數字表示 0(表示星期天)到 6(表示星期六)
z 年份中的第幾天 0 到 366
星期 --- ---
W ISO-8601 格式年份中的第幾周,每周從星期一開始(PHP 4.1.0 新加的) 例如:42(當年的第 42 周)
月 --- ---
F 月份,完整的文本格式,例如 January 或者 March January 到 December
m 數字表示的月份,有前導零 01 到 12
M 三個字母縮寫表示的月份 Jan 到 Dec
n 數字表示的月份,沒有前導零 1 到 12
t 給定月份所應有的天數 28 到 31
年 --- ---
L 是否為閏年 如果是閏年為 1,否則為 0
o ISO-8601 格式年份數字。這和 Y 的值相同,只除了如果 ISO 的星期數(W)屬於前一年或下一年,則用那一年。(PHP 5.1.0 新加) Examples: 1999 or 2003
Y 4 位數字完整表示的年份 例如:1999 或 2003
y 2 位數字表示的年份 例如:99 或 03
時間 --- ---
a 小寫的上午和下午值 am 或 pm
A 大寫的上午和下午值 AM 或 PM
B Swatch Internet 標准時 000 到 999
g 小時,12 小時格式,沒有前導零 1 到 12
G 小時,24 小時格式,沒有前導零 0 到 23
h 小時,12 小時格式,有前導零 01 到 12
H 小時,24 小時格式,有前導零 00 到 23
i 有前導零的分鍾數 00 到 59>
s 秒數,有前導零 00 到 59>
時區 --- ---
e 時區標識(PHP 5.1.0 新加) 例如:UTC,GMT,Atlantic/Azores
I 是否為夏令時 如果是夏令時為 1,否則為 0
O 與格林威治時間相差的小時數 例如:+0200
P 與格林威治時間(GMT)的差別,小時和分鍾之間有冒號分隔(PHP 5.1.3 新加) 例如:+02:00
T 本機所在的時區 例如:EST,MDT(在 Windows 下為完整文本格式,例如「Eastern Standard Time」,中文版會顯示「中國標准時間」)。
Z 時差偏移量的秒數。UTC 西邊的時區偏移量總是負的,UTC 東邊的時區偏移量總是正的。 -43200 到 43200
完整的日期/時間 --- ---
c ISO 8601 格式的日期(PHP 5 新加) 2004-02-12T15:19:21+00:00
r RFC 822 格式的日期 例如:Thu, 21 Dec 2000 16:01:07 +0200
U 從 Unix 紀元(January 1 1970 00:00:00 GMT)開始至今的秒數 參見 time()
㈩ php 二級分類問題
你這個是在做無線欄目分類,現在方法很多,比較實用的用遞歸調用 ,左右直調用
簡單的解決方案:
資料庫結構
CREATE TABLE `class` (
`id` int(10) NOT NULL auto_increment,
`name` varchar(250) character set gbk default NULL,
`classid` int(10) default NULL,
`sort` int(10) default '10',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=11 ;
php處理文件
<div id="main"> <a href="?action=">分類列表</a> <a href="?action=add">添加分類</a>
<?php
$mysql = new mysql_Class('localhost','root','');
$mysql -> select_db('myde520');
switch($_GET['action']){
case 'add':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql -> query($sql);
while($row = $mysql -> fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
?>
<form action="?action=act_add" method="post">
<table border="0" cellpadding="0" cellspacing="0" class="table02">
<thead>
<tr>
<td colspan="2"><div align="center">添加分類</div></td>
</tr>
</thead>
<tr>
<td><div align="right">分類名稱:</div></td>
<td><input name="name" type="text" class="input" id="name" value="" size="40" /></td>
</tr>
<tr>
<td><div align="right">所屬分類ID:</div></td>
<td><select name="classid" id="classid">
<option value="0">-----頂級分類-----</option>
<?php
dafenglei_select(0,0,0);
?>
</select>
</td>
</tr>
<tr>
<td><div align="right">排序:</div></td>
<td><input name="sort" type="text" class="input" id="sort" value="10" size="25" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="button" id="button" value="添加分類" />
<input type="reset" name="button2" id="button2" value="重置" />
</div></td>
</tr>
</table>
</form>
<?php
break;
case 'act_add':
$sql = "INSERT INTO `class` (`name`,`classid`,`sort`) VALUES('".$_POST['name'];
$sql .= "',".$_POST['classid'].",".$_POST['sort'].")";
$mysql -> query($sql);
msg('添加成功!','?action=');
break;
case 'edit':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql -> query($sql);
while($row = $mysql -> fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
$sql = "select * from `class` where id=".$_GET['id'];
$query = $mysql -> query($sql);
$row = $mysql -> fetch_array($query);
if($row){
?>
<form action="?action=act_edit" method="post">
<table border="0" cellpadding="0" cellspacing="0" class="table02">
<thead>
<tr>
<td colspan="2"><div align="center">修改分類</div></td>
</tr>
</thead>
<tr>
<td><div align="right">分類名稱:</div></td>
<td><input name="name" type="text" class="input" id="name" value="<?php echo $row['name'];?>" size="40" /></td>
</tr>
<tr>
<td><div align="right">所屬分類ID:</div></td>
<td><select name="classid" id="classid">
<option value="0">-----頂級分類-----</option>
<?php
dafenglei_select(0,0,$row['classid']);
?>
</select>
</td>
</tr>
<tr>
<td><div align="right">排序:</div></td>
<td><input name="sort" type="text" class="input" id="sort" value="<?php echo $row['sort'];?>" size="25" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="button" id="button" value="修改分類" />
<input type="hidden" id="id" name="id" value="<?php echo $_GET['id'];?>" />
<input type="reset" name="button2" id="button2" value="重置" />
</div></td>
</tr>
</table>
</form>
<?php
}else{
msg('要修改的記錄不存在!','?action=');
}
break;
case 'act_edit':
$sql = "select id from `class` where id=".$_POST['id'];
$query = $mysql -> query($sql);
$row = $mysql -> fetch_array($query);
if($row){
if($row['id']==$_POST['classid']){
msg('修改失敗,不能自己是自己的子分類!','?action=');
}else{
$sql = "update `class` set `name`='".$_POST['name']."',`classid`=".$_POST['classid'];
$sql .= ",`sort`=".$_POST['classid']." where `id`=".$_POST['id'];
$mysql -> query($sql);
msg('修改成功!','?action=');
}
}
break;
case 'del':
$sql = "select * from `class` where id=".$_GET['id'];
$query = $mysql -> query($sql);
$row = $mysql -> fetch_array($query);
if($row){
$mysql -> query("delete `id` from `class` where id=".$_GET['id']);
msg('刪除成功!','?action=');
}else{
msg('記錄不存在!','?action=');
}
break;
case '':
$class_arr=array();
$sql = "select * from `class` order by sort asc, id Desc";
$query = $mysql -> query($sql);
while($row = $mysql -> fetch_array($query)){
$class_arr[] = array($row['id'],$row['name'],$row['classid'],$row['sort']);
}
?>
<table class="table">
<thead>
<tr>
<td >分類名稱</td>
<td width="60"><div align="center">排序</div></td>
<td width="80"><div align="center">操作</div></td>
</tr>
</thead>
<?php dafenglei_arr(0,0);?>
</table>
<?php
break;
}
?>
</div>
<?php
function msg($msg,$url)
{
echo "<script type=\"text/javascript\">alert('$msg');window.location.href='$url';</script>";
}
function dafenglei_arr($m,$id)
{
global $class_arr;
global $classid;
global $mysql;
if($id=="") $id=0;
$n = str_pad('',$m,'-',STR_PAD_RIGHT);
$n = str_replace("-","",$n);
for($i=0;$i<count($class_arr);$i++){
if($class_arr[$i][2]==$id){
echo "<tr>\n";
echo " <td>".$n."|--<a href=\"?action=edit&id=".$class_arr[$i][0]."\">".$class_arr[$i][1]."</a></td>\n";
echo " <td><div align=\"center\">".$class_arr[$i][3]."</div></td>\n";
echo " <td><div align=\"center\"><a href=\"?action=edit&id=".$class_arr[$i][0]."\">修改</a>";
echo " <a href=\"?action=del&id=".$class_arr[$i][0]."\">刪除</a>";
echo "</div></td>\n";
echo " </tr>\n";
dafenglei_arr($m+1,$class_arr[$i][0]);
}
}
}
function dafenglei_select($m,$id,$index)
{
global $class_arr;
$n = str_pad('',$m,'-',STR_PAD_RIGHT);
$n = str_replace("-","",$n);
for($i=0;$i<count($class_arr);$i++){
if($class_arr[$i][2]==$id){
if($class_arr[$i][0]==$index){
echo " <option value=\"".$class_arr[$i][0]."\" selected=\"selected\">".$n."|--".$class_arr[$i][1]."</option>\n";
}else{
echo " <option value=\"".$class_arr[$i][0]."\">".$n."|--".$class_arr[$i][1]."</option>\n";
}
dafenglei_select($m+1,$class_arr[$i][0],$index);
}
}
}
/**
*-------------------------資料庫操作類-----------------------------*
*/
class mySql_Class
{
function __construct($host, $user, $pass)
{
@mysql_connect($host,$user,$pass) or die("資料庫連接失敗!");
mysql_query("SET NAMES 'gbk'");
}
function select_db($db)//連接表
{
return @mysql_select_db($db);
}
function query($sql)//執行SQL語句
{
return @mysql_query($sql);
}
function fetch_array($fetch_array)
{
return @mysql_fetch_array($fetch_array, MYSQL_ASSOC);
}
function close() //關閉資料庫
{
return @mysql_close();
}
function insert($table,$arr) //添加記錄
{
$sql = $this -> query("INSERT INTO `$table` (`".implode('`,`', array_keys($arr))."`) VALUES('".implode("','", $arr)."')");
return $sql;
}
}
?>