跟燕十八学习PHP-第十九天-热身项目完善
?
/**
燕十八 公益PHP培訓(xùn)
課堂地址:YY頻道88354001
學(xué)習(xí)社區(qū):www.zixue.it
**/
<?php
/*
$sql = 'select * from user';
$rs = mysql_query($sql,$conn);
while($row = mysql_fetch_assoc($rs)) {
}
每次想取多行數(shù)據(jù),都要如上步驟,來個while循環(huán),能否用函數(shù)封裝起來?
要求:
函數(shù) getAll()
parm: string $sql
parm: resource $conn
return 二維數(shù)組, false
*/
$conn = mysql_connect('localhost','root','111111');
if(!$conn) {
exit('連接失敗');
}
$sql = 'use test';
mysql_query($sql,$conn);
function getAll($sql,$conn) {
// 思路: 沿著$conn通道 發(fā)送$sql查詢
// 再while循環(huán),取出每一行,
// 裝到一個二維數(shù)組, 再返回
$rs = mysql_query($sql,$conn);
if(!$rs) {
return false;
}
$res = array();
while($row = mysql_fetch_assoc($rs)) {
$res[] = $row;
}
return $res;
}
echo '<pre>';
$sql = 'select * from stu';
$stus = getAll($sql,$conn);
print_r($stus); // 取多行多列的函數(shù)封裝
?
// 再封裝一個函數(shù),用來專門取一行的場合.
// sql = select * from stu where id=16;
$sql = 'select * from stu where id=16';
$stu = getAll($sql,$conn);
print_r($stu); // 也取出了數(shù)據(jù),但是呢是二維數(shù)組,不方便
?
/*
getRow 取出單行數(shù)據(jù)
parm String $sql; sql語句
parm resource $conn; 資源
return 一維數(shù)組 array/ false
*/
function getRow($sql,$conn) {
$rs = mysql_query($sql,$conn);
return mysql_fetch_assoc($rs);
}
$sql = 'select * from stu where id=16';
$stu = getRow($sql,$conn);
print_r($stu); // 返回1行數(shù)組,一維數(shù)組
?
// 又提要求: 幫我查一共有多少個學(xué)生?
$sql = 'select count(*) from stu';
$num = getRow($sql,$conn);
print_r($num);
/*
返回的是1維數(shù)組,因此就返回 count(*)單元
Array
(
[count(*)] => 3
)
但此處,只是想要數(shù)值3,并不想數(shù)組形式
*/
/*
getOne
parm: String $sql sql語句
parm: resource $conn 資源
return 單個標(biāo)量值
*/
function getOne($sql,$conn) {
$rs = mysql_query($sql,$conn);
$row = mysql_fetch_row($rs);
return $row[0];
}
$sql = 'select count(*) from stu';
$num = getOne($sql,$conn);
print_r($num);
<?php
/*
日期時間函數(shù),在PHP中,也是非常常用的函數(shù)
頻率僅將于字符串和數(shù)組函數(shù)
時間戳: 是指1970-01-01 00:00:00 --> 某個時刻所經(jīng)歷的秒數(shù)
問: 你是什么時間出生的?
答: 我是時間戳1204563241時出生的.
問: 時間戳這么不易于人來理解,為什么用時間戳來儲存時間呢?
答: 理由如下
1:便于存儲 2038年之前的時間戳,都沒超過40億,因此用4個字符的int型,就可以存儲了.
2:時間戳就是數(shù)學(xué)上的一個值,沒有歧義.
如果用格式,比如中國人 喜歡2012年01月01日,比如有人喜歡 01/01 2012 13:00:00
用時間戳沒有此爭論
3:時間雖然不便于給人看,但是便于給機器運算,便于比較時間差.
舉例: 某張表中,有字段,存是是發(fā)帖時間, 格式是 yyyy-mm-dd hh:ii:ss
我讓你取出24小時內(nèi)的帖子.
得先根據(jù)當(dāng)前這一瞬間 2012-03-01 09:13:25, 往前移動24小時,計算出24前的日期 ,記為A
然后 pubtime >= A, 是2012-02-28還是02-29, 得考慮平年閏年的問題
很麻煩
而用時間戳則沒有此問題
只需要得出當(dāng)前這一瞬間的時間戳,記為Current, 然后 Current - 24 * 3600 ,記為B
只需要 pubtime >= B 就可以了.
?
問:時間戳雖利于計算機來計算,但人眼看起來,還是不直觀啊?
答:有專門的函數(shù),用來把時間戳格式化你想要的格式,date函數(shù)
*/
echo '從1970-01-01 00:00:00到現(xiàn)在,已經(jīng)過去',time(),'秒了';
echo '<br />';
$time = time();
echo date('m/d Y H:i',$time);
echo '<hr />';
/*
strtotime,則是把字符串形式的時間轉(zhuǎn)化成時間戳
*/
$birth = '1985-05-17';
echo strtotime($birth),'<br />';
// 從當(dāng)前時間,退回1天的時間戳
echo strtotime('-1 day'),'<br />';
// 退回到一周前的時間戳
echo strtotime('-1 week'),'<br />';
?
燕十八老師太幽默了, 昨天的視頻如下:
轉(zhuǎn)載于:https://www.cnblogs.com/phperlang/archive/2012/10/19/2731172.html
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的跟燕十八学习PHP-第十九天-热身项目完善的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jquery字符串转数组
- 下一篇: UU看书于今日成功上线,各大小说网站发来