2009年8月29日

調整php時區的方法

  因為php5新增了時區的觀念,所以一般來說若沒有調整設定的話,會以格林威治的標準時間為準,因為台灣與格林威治的標準時間有8小時的時差,所以若沒有調整設定的情形下使用date()函式,會發現怎麼會慢了8小時,原因就在這裡,而解決的方法如下:

1.將php.ini檔中的時區設定如下

[Date]
;Defines the default timezone used by the date functions
date.timezone = "Asia/Taipei"

;date.default_latitude = 31.7667
;date.default_longitude = 35.2333

;date.sunrise_zenith = 90.583333
;date.sunset_zenith = 90.583333


  將原本在date.timezone = "Asia/Taipei"前方的";"拿掉,並指定時區為"Asia/Taipei",然後存檔重起web server即可。


2.若你沒有修改php.ini檔的權限或不想直接寫死想讓php更有彈性一點,在可以在程式的開頭加入date_default_timezone_set("Asia/Taipei");這樣就不怕別人在使用這程式時會有這樣的問題了。

2009年8月28日

php安裝openssl的方法

立得國際-舊屋翻新.代客尋屋的專家

很多朋友在利用phpmailer透過gmail發送mail時,常發生無法寄送的錯誤,而其中最常見的就是php沒有支援openssl的關係,有鑑於此YOGO特別寫了這篇就學,希望能對這方面有困擾的朋友能有所幫助,至於phpmailer的設定方式,就請參考YOGO寫的另一篇文章("用PHP寄MAIL的方法 "),在此就不再贅述了。


1.首先需先確認你安裝的PHP延伸模組中是否有php_openssl.dll這個函式庫,以YOGO的安裝路徑為例,到"C:\php5\ext\"這個資料夾中看是否有php_openssl.dll這個函式庫的存在,若有但openssl無法使用那就可能沒開啟這個擴充模組,以YOGO的設定為例,到"C:\WINDOS\"資料夾底下找到一個名php.ini的檔案,用筆記本之類的軟體開啟後,搜尋php_openssl.dll,找到之後將前方的";"字號去除之後存檔重開web server之後,應該就可以使用php_openssl.dll這個模組了,若在php.ini檔中,搜尋不到php_openssl.dll的話就把"extension=php_openssl.dll"這一段家到php.ini檔中,然後存檔重開web server之後,應該就可以使用php_openssl.dll這個模組了。

2.若安裝的PHP延伸模組中沒有php_openssl.dll這個函式庫的話就要自己去下載來裝了,首先先用phpinfo()函式,看一下安裝的php版本與php.ini檔的存放路徑,如下圖。














3.確定安裝的php版本後到php的官網(http://www.php.net/)中下載相對應的php版本,不管你的php是幾版的,你要下載的是PHP_X.X.X._zip_package的版本,不要去下載其他的版本,如下圖。


 

4.隨便選擇一個載點下載,如下圖。


 


5.下載完成後解壓縮,之後會看到一個"ext"的資料夾,如下圖。

















6.進入"ext"資料夾中找到"php_openssl.dll"這個擴充模組,如下圖。
















7.將"php_openssl.dll"複製到你的php安裝路徑之下的"ext"資料夾,以YOGO為例,安裝路徑為"C:\php5\ext\",如下圖。


















8.然後用類似筆記本之類的軟體,開起php.ini檔,以YOGO的設定為例即為"C:\WINDOWS\php.ini",如下圖。



















9.搜尋"php_openssl.dll",然後將前方的";"拿掉,若搜尋不到就自己把"extension=php_openssl.dll"這一句加上去,然後存檔重開web server,如下圖。









10.用phpinfo()函式看一下openssl模組是否有載入成功,若有應該會看到如下圖的資訊。





PS:
1.若改完php.ini重開web server卻出現找不到"php_openssl.dll"擴充模組的錯誤的話,將"php_openssl.dll"及在C:\php5\資料夾底下的libeay32.dll、ssleay32.dll,這個3檔案複製到"C:\WINDOWS\System32"這個資料夾底下,然後重起web server應該就可以解決這個問題了。
2.若你安裝的web server是含 openssl 的 apache 的話,
因為根據 windows 的設計, 他會先搜尋 (根據下面那段英文字) apache/bin,所以 php 內建的永遠跑不到了,請把php_openssl.dll、libeay32.dll、ssleay32.dll覆蓋到 apache/bin 去吧. 因為那才是應用程式的執行地方。
 
When any application attempts to use a dll file in windows, the system searches for this file using the following order:
1. The directory from which the application loaded.
2. The windows\system32 directory.
3. The windows\system directory.
4. The windows directory.
5. The current directory.
6. The directories that are listed in the PATH environment variable.
 
3.php 的版本建議使用 php5,不要使用 php4,
因為PHP 4.3.x 版本有 bug
會導致 fsockopen 無法接受 "ssl://example.com",即使有 OpenSSL support,還是會產生以下這樣的錯誤訊息:

Warning: fsockopen(): no SSL support in this build


以上的設定都沒問題的後就能用phpmailer透過gmail來代送mail,以上若有任何問題歡迎各位朋友提出來一起討論,祝好運囉^^
 

如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。

2009年8月25日

推薦2本jQuery開發的好書

YOGO最近在研究jQuery的開發,發現有2本書不錯,在此推薦給大家參考一下

jQuery開發實戰



內容簡介
jQuery是目前全球使用率最高的JavaScript函式庫之一,以功能強大、簡單易用著稱。隨著使用者經驗、RIA日益受到重視,能夠有效快速實踐這些訴求的jQuery更是備受重視,已有許多知名網站如Amazon、博客來、Google採用,Nokia、Microsoft更相繼將其納入開發平台,肯定與重視的程度可見一斑。

本書源自全球著名之jQuery資源網站-LearningjQuery.com創辦人之手,以通俗易懂的方式介紹了jQuery的基本概念。
。透過本書,您將可以學到:
。利用選擇器選取網頁上的任何元素
。利用事件讓網頁產生變化
。運用動畫效果讓網頁更炫麗
。透過DOM操作變化您的網頁
。透過AJAX發揮伺服器端程式碼的威力
。將單調乏味的資訊容器,重新包裝成美觀的動態表格
。讓您的線上表單更具親和力
。建立動態的分類器、翻轉器和圖庫
。學會使用jQuery官方外掛程式
。編寫屬於自己的jQuery外掛程式



本書特色

本書源自全球著名之jQuery資源網站-LearningjQuery.com創辦人之手,以通俗易懂的方式介紹了jQuery的基本概念。您可以透過本書了解如何利用jQuery操作頁面上的元素,以及如何利用豐富的jQuery外掛程式,甚至於自己開發外掛。


作者簡介

Jonathan Chaffer

LearningjQuery.com網站創始人之一,同時也是Drupal這套CMS系統的核心開發成員,他開發了廣受歡迎的ContentcConstructioncKit模組,並大幅改進了選單系統。

Karl Swedberg

LearningjQuery.com網站創始人之一,目前是Structure Interactive這家公司的技術長。致力於網頁標準的推行。

專屬網站:book.learningjquery.com/


書籍相關介紹:
http://www.books.com.tw/exep/assp.php/yogo/exep/prod/booksfile.php?item=0010439491


jQuery UI與plugin開發實戰



內容簡介

在時下最流行的RIA設計中,直覺的操作方式與豐富的視覺效果已成為網站應用程式的基本要求。不過,這些效果的開發過程一點也不輕鬆,看似簡單的一個步驟,背後往往是一長串繁複的程式碼, RIA往往意味著高成本。所幸,jQuery UI的出現,讓一切變得不同了。

jQuery UI提供一系列可以立即套用,具備專業外觀的網頁介面元件,可以幫助開發人員省去許多介面功能的程式設計苦力,而將思維聚焦在核心功能的開發上。

本書透過上百個範例,詳細解析jQuery UI函式庫中的元件。從最簡單的直接套用開始,逐步擴展至複雜細膩的設定,以及與元件彼此之間的整合運用,引領您無痛學習。


透過本書,您將可以學到:

■ 利用頁籤與手風琴元件以有效地組織與呈現頁面上的內容

■ 利用對話方塊來呈現訊息、圖檔與互動內容

■ 利用滑桿元件,讓您的網站應用程式操作介面更加人性化

■ 讓網站使用者可以方便地透過日期選取器輸入日期

■ 透過自動完成工具,讓您的網站搜尋介面更加先進

■ 透過拖曳機制讓使用者可以自定頁面的呈現

■ 運用動畫效果讓網頁更炫麗


本書特色

本書透過上百個範例,詳細解析jQuery UI函式庫中的元件。從最簡單的直接套用開始,逐步擴展至複雜細膩的設定,以及與元件彼此之間的整合運用,引領您無痛學習。


作者簡介

Dan Wellman

居住在位於英國南部海岸的南安普敦,白天任職於一家電子商務機構,夜晚則致力於JavaScript的技術研究,著有《Learning the Yahoo! User Interface library》、《jQuery UI 1.6》等書,均為深受讀者佳評之熱銷好書。


目錄

第01章|介紹jQuery UI


第02章|頁籤Tabs

第03章|摺疊選單Accordion

第04章|對話視窗Dialog

第05章|滑桿Slider

第06章|日期選擇器Date Picker

第07章|自動完成Auto Complete

第08章|拖放Drag and Drop

第09章|縮放Resizing

第10章|選取Selecting

第11章|排序Sorting

第12章|UI特效

書籍相關介紹:
http://www.books.com.tw/exep/assp.php/yogo/exep/prod/booksfile.php?item=0010439536


基本上"悅知"發行的產品都有一定以上的水準,YOGO還蠻喜歡他們家發行的產品,推薦給有興趣的朋友。

如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。

推薦一本FLASH 3D特效的好書

YOGO最近在書店看到一本關於FLASH 3D特效的書,寫的還不錯,推薦給有興趣的朋友參考^^


Flash 3D 特效宅急便 - 商業範例隨學隨用




內容簡介

你還被侷限在 2D 平面空間裡做 Flash 動畫嗎?

最新流行的 Flash 3D 效果讓你看了心動卻不知從何著手嗎?

可隨手套用程式碼 + 最實用的動畫範例,讓你的 Flash 作品瞬間耀眼搶手!

這是市面上第一本完整公開 Flash 3D 效果的書!採用普及性最高的 Flash 3D 效果外掛類別-PV3D 加上最關鍵的 ActionScript 3.0 語法。不用從頭苦學就可直接踏入完整的 Flash 3D 動畫世界!


本書特色

□琳瑯滿目的精美範例,各個具備高實用性!

□介紹使用 PV3D 類別必備的 ActionScript3.0 關鍵知識,沒有複雜的觀念介紹與多餘的語法解說,程式碼可以立即套用。

□採用最受歡迎的免費 Flash 3D 類別-PV3D,完全 Open Source,功能強大且易學易用。

□全書使用 ActionScript 3.0,提供最新版才能做出的效果,保證範例程式執行效率最佳,使用功能最新。


相關書籍介紹:
http://www.books.com.tw/exep/assp.php/yogo/exep/prod/booksfile.php?item=0010440020

2009年8月20日

PHP中限制文字顯示

若果 Database 內有 100 個字,但我想顯示時只顯示 50 個字之後加三點,請問點寫呢?

用字串切割, 抓前 50 字 再補 . 就好啦 $aa = substr($ori_string, 0, 50 ) . "..." ;
前面老兄的方法就很快了...只是會有一點點危險...
萬一在前50個字內出現了一個英文字....
那切斷點就會給你好幾個亂碼囉
這方法是囉唆了一點....
但會保證你的安全...
   1: $num=50; 



   2: $TEXT="一串好長的字xxxxxxx一串好長的字xxxxxxx一串好長的字xxxxxxx一串好長的字xxxxxxx一串好長的字xxxxxxx一串好長的字xxxxxxx"; 



   3: if(strlen($TEXT) > $num) { 



   4:  for($i=0;$i<$num;$i++) { 



   5:   $ch=substr($TEXT,$i,1); 



   6:   if(ord($ch)>127) $i++; 



   7: } 



   8:  



   9: $TEXT= substr($TEXT,0,$i)."...."; 



  10: } 



  11:  



  12: echo $TEXT;


茶米己經將該先前分享的程式碼改寫成 Function ,原始碼如下:


   1: function cutword($cutstring,$cutno){ 



   2:  if(strlen($cutstring) > $cutno) { 



   3:   for($i=0;$i<$cutno;$i++) { 



   4:    $ch=substr($cutstring,$i,1); 



   5:    if(ord($ch)>127) $i++; 



   6:   } $cutstring= substr($cutstring,0,$i)."..."; 



   7:  } 



   8: return $cutstring; 



   9: }


使用時的語法:


   1: echo cutword(資料庫欄位,顯示字數);


分享給您,您可以試試喔!

相關網址:http://board.justok.net/viewtopic.php?t=2787&highlight=%B7j%B4M

原文出處:http://www.e-dreamer.idv.tw/index.php?article_id=22

YOGO補充一下:

若您的環境允許使用mb_substr的話,YOGO建議使用mb_substr比較不會有裁到中文字變成亂碼的困擾,以上函式YOGO改寫如下:


   1: function cutword($cutstring,$cutno,$language="Big5"){  



   2:  if(mb_strlen($cutstring,$language) > $cutno) {   



   3:    $cutstring= mb_substr($cutstring,0,$cutno,$language)."..."; 



   4:   } 



   5: return $cutstring; 



   6: }



使用時的語法:



   1: echo cutword(資料庫欄位,顯示字數,字串編碼);


基本上若你要截取的資料是BIG-5的中文編碼的話,第3個參數是可以不用填的,以上若有任何問題歡迎隨時提出討論^^


2009年8月18日

用PHP寄MAIL的方法

立得國際-舊屋翻新.代客尋屋的專家


YOGO整理了一下,用PHP來發MAIL的方法給有需要的朋友參考一下

1.用PHP內建的mail()函式

一般在發信時入須要先設好您的mail-server,會有問題的大多是windows的系統.在使用這一個函式時如果出現找不到函式那就是您的mail-server相關設定沒有設好.您只要修改您的php.ini就可以了請找到這二行

SMTP = localhost ;
for win32 onlysendmail_from = [email protected] ;for win32 onlysmtp

必須要找一台可以提供relay的機器來發信有關主機請自己找相關文件.接下來我們開始談有關mail這一個函式在一封完整的信件中一定會有以下的幾個元件

1.收件人
2.主題
3.信件內容

以要發一封簡單的信件只要把值帶入mail()中就可以了。

例:
mail("收件人","信件主題", 信件內容[, 標頭]);

這樣即可,若須更詳細的說明可參考此篇文章(Mail函式講解 http://www.php5.idv.tw/modules.php?mod=books&act=show&shid=2516


2.mb_send_mail

基本上mb_send_mail的用法與mail類似,只是mail函式必需隨這所使用的語言,適當地設定mail的檔頭部份所宣告的charset,以及檔頭部份、本文部份的編碼方式,但mb_send_mail可以自動進行這些處理,以下為mb_send_mail的原型與用法:

原型:

bool mb_send_mail ( string $to , string $subject , string $message [, string $additional_headers= NULL [, string $additional_parameter= NULL ]] )

用法:

mb_send_mail("收件人","信件主題", 信件內容[, 標頭]);

若需進一步資料請參閱:http://tw.php.net/manual/en/function.mb-send-mail.php


3.使用PHPMailer



在 PHP 中可以使用 mail() 函式進行信件的發送,但是前提是您必須使用一個不用驗證即可寄信的 SMTP。
如果您必須使用一個需要帳號、密碼來通過驗證的 SMTP,就不能使用 mail() 函式了。 如果您不想再額外的安裝 PEAR 函式庫,建議您可以採用 opensource 的類別:phpMailer。

phpMailer 官方網站http://phpmailer.codeworxtech.com/

您可以在此下載 phpMailer 的類別: http://phpmailer.codeworxtech.com/index.php?pg=sf&p=dl 建議您依據您使用的 PHP 版本來下載適合的類別。

下載完畢後請解壓縮到指定資料夾中, 其中重要的類別檔案為:, 請將這個檔案放置與寄發信件程式同一層。 以下為使用範例:

include("class.phpmailer.php"); //匯入PHPMailer類別

$mail= new PHPMailer(); //建立新物件
$mail->IsSMTP(); //設定使用SMTP方式寄信
$mail->SMTPAuth = true; //設定SMTP需要驗證
$mail->Host = "XXX.XXX.XXX.XXX"; //設定SMTP主機
$mail->Port = 25; //設定SMTP埠位,預設為25埠。
$mail->CharSet = "big5"; //設定郵件編碼

$mail->Username = "*********"; //設定驗證帳號
$mail->Password = "*********"; //設定驗證密碼

$mail->From = [email protected]; //設定寄件者信箱
$mail->FromName = "測試人員"; //設定寄件者姓名

$mail->Subject = "PHPMailer 測試信件"; //設定郵件標題
$mail->Body = "大家好, 這是一封測試信件! "; //設定郵件內容
$mail->IsHTML(true); //設定郵件內容為HTML
$mail->AddAddress(
123@123, "test"); //設定收件者郵件及名稱

if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}


如此即可通過有驗證的SMTP了,另外phpMailer也可以透過Gmail 的SMTP 發信,其範例如下:


include("class.phpmailer.php"); //匯入PHPMailer類別

$mail= new PHPMailer(); //建立新物件
$mail->IsSMTP(); //設定使用SMTP方式寄信
$mail->SMTPAuth = true; //設定SMTP需要驗證
$mail->SMTPSecure = "ssl"; // Gmail的SMTP主機需要使用SSL連線
$mail->Host = "smtp.gmail.com"; //Gamil的SMTP主機
$mail->Port = 465; //Gamil的SMTP主機的SMTP埠位為465埠。
$mail->CharSet = "big5"; //設定郵件編碼

$mail->Username = "*********"; //設定驗證帳號
$mail->Password = "*********"; //設定驗證密碼

$mail->From = [email protected]; //設定寄件者信箱
$mail->FromName = "測試人員"; //設定寄件者姓名

$mail->Subject = "PHPMailer 測試信件"; //設定郵件標題
$mail->Body = "大家好,這是一封測試信件! "; //設定郵件內容
$mail->IsHTML(true); //設定郵件內容為HTML
$mail->AddAddress(
123@123, "test"); //設定收件者郵件及名稱

if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}


一般來說這樣即可完成使用 Gmail 發信的動作了,但有幾個要注意的事項敘述如下:

1.其中要注意的是Gmail 的 SMTP主機固定位址是 smtp.gmail.com,必須使用 465 埠以 SSL 的方式來連線。
2.有許多朋友可能在測試時還是無法正確連線,若要使用 SSL 的方式進行連線,PHP 必須安裝 OpenSSL 的擴充程式,如此才能正確連線並使用 Gmail 執行寄信的動作。

相關資料可參考以下這3篇文章:

1.[PHP] 線上發信如何通過驗證的SMTP(使用PHPMailer)
http://www.dreamweaver.com.tw/?fid=7&viewtopic=29672

2.[PHP] 如何利用 Gmail 的SMTP 發信(使用PHPMailer)
http://www.dreamweaver.com.tw/?fid=7&viewtopic=29692

3.[PHP] 如何利用 Pchome 的SMTP 發信(使用PHPMailer)
http://blog.yogo.tw/2009/09/php-pchome-smtp-phpmailer.html

4.PHP安裝OPENSSL的方法
http://blog.yogo.tw/2009/08/phpopenssl.html

另外下面延伸閱讀推薦的內二本書對phpmailer有詳細的介紹,有興趣的朋友可參考一下。

延伸閱讀:
最新 PHP + MySQL + Ajax 網頁程式設計
PHP + Ajax 網頁模組隨學隨用


4.PEAR - PHP Mail and Mail_Mime

這個比較複雜,以下為相關教學,給有興趣的朋友參考看看

1.[PHP] 好用的 PEAR - PHP Mail and Mail_Mime
http://blog.wu-boy.com/2007/12/18/129/

2.[PHP]解決 PEAR::Mail_Mime 標題 UTF-8 亂碼問題(不能顯示)
http://blog.wu-boy.com/2008/10/01/524/



5.使用Zend_Mail透過Google GMail來寄信


使用Zend Framework所提供的Zend_Mail來寄信,指定的SMTP就是要透過Google的Gmail來寄信, 在使用這個範例之前,由於Gmail必須透過加密傳輸,所以請確認你已經為PHP安置好OpenSSL

範例:
require_once 'Zend/Mail.php';
require_once 'Zend/Mail/Transport/Smtp.php';
$config = array('auth' => 'login','username' => '你的帳號','password' => '******','ssl' => 'tls','port' => '587');

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$mail = new Zend_Mail('UTF-8');
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('[email protected]', 'Some Sender');
$mail->addTo('[email protected]', 'Shen');
$mail->setSubject('Zend Mail!');
$mail->send($transport);

參考資源:
Zend_Mail - how to use Zend_Mail_Transport_Smtp for googlemail.com


6.利用 php 裡面的 libcurl 方式,把資料傳到 gmail 去,讓 gmail 當你的 smtp

這裡下載 libgmailer

範例:
require("libgmailer.php");
$gmail_acc = "帳號@gmail.com";
$gmail_pwd = "密碼";
$my_timezone = "GMT +08:00";
$gmailer = new GMailer();
if ($gmailer->created) {
gmailer->setLoginInfo($gmail_acc, $gmail_pwd, $my_timezone);// $gmailer->setProxy("proxy.company.com");
if ($gmailer->connect()) {
// GMailer connected to Gmail successfully.
// Do something with it.
$to = "收件人@gmail.com";
$subj = "主題";
$body = "測試";
$gmailer->send($to, $subj, $body, $cc="", $bcc="", $mid="", $tid="", $files=0, $draft=false, $orig_df="", $is_html=0, $from="", $attachments = array());
} else {
die("Fail to connect because: ".$gmailer->lastActionStatus()."\n");}}
else {
die("Failed to create GMailer because: ".$gmailer->lastActionStatus()."\n");
}



以上為YOGO整理的一些方法,希望能對各位朋友有所幫助

延伸閱讀:
挑戰Dreamweaver CS4互動網站百寶箱--使用PHP
挑戰PHP5/MySQL程式設計樂活學 

如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。

關閉線上 PHP 錯誤訊息提示功能

檢查 php.ini 檔中的 display_errors 的設定是否為

display_errors = on

如果是的話把它改成

display_errors = off

  然後再去 run 看看原本有問題的 PHP 程式,就不會再出現錯誤提示;我說明一下這個設定的用意好了,當 display_errors = on 時若 php 的程式有問題會把錯誤訊息顯示在瀏覽器供開發人員參考,這在開發時很有用,但當網站對外開放時,一般都會把這個功能關閉,因為php若遇嚴重錯誤時不管你有沒有開啟這個功能它都會顯示錯誤訊息,若遇不影響並中止php本身運行的小錯誤時,關閉這個功能並不會影響到 php 本身的運行,所以正式上線的 php 網站都會將這個功能關閉。

dw如何利用URL編碼傳遞中文字

不知道各位朋友是否有發現,如果利用URL參數傳遞中文字都會變成亂碼,進而造成程式錯誤,這個問題該如何解決呢?其實很簡單,其實可以用urlencode()函式解決,其方法如下:

只要你在 連結>>選取檔案時底下有個參數點下去就可以做出Go To Detail Page同等的效果而且在"值"的部分可以選取你想要的編碼方式,這樣就可以解決中文字亂碼的問題了,不過如果要取用被urlencode()函式編碼過的值,需用urldecode()函式解碼,才能還原編碼過的值,不過需注意用urlencode()函式編碼,英文跟數字是不會編碼的,如果想英文跟數字也能被編碼,可以考慮用Base64()函式編碼,不過Base64()函式dw並無內建需自行編寫程式碼,故在此不贅述之。

如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。

dw中php如何亂數取得一筆資料

有想過隨機廣告是怎麼作的嗎?其實很簡單,就是每次頁面載入時,從資料庫亂數取出一筆資料,這樣即可達到隨機廣告的需求了,要怎麼作呢?且看我道來:

在資料集的進階的地方輸入如下的語法

SELECT * FORM tbads ORDER BY RAND() LIMIT 1

這樣每次都會從資料庫中亂數取出一筆資料,即可達到隨機廣告的需求了,不過此法法只適用於Mysql而已。

延伸閱讀:
挑戰Dreamweaver CS4互動網站百寶箱--使用PHP
挑戰PHP5/MySQL程式設計樂活學

如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。

php的時間函式(date)應用

今天在Yahoo知識+看到一則討論,是關於"php如何把gmtime()的秒數譯成Y-m-d H:i:s"的問題(http://tw.knowledge.yahoo.com/question/question?qid=1009081801890),在討論中原發問者希望能將秒數轉換成data函式中的Y-m-d H:i:s格式,其實這部份並不難,php的date函式原本就有提供2個參數可供使用者使用,若省略第2個參數,date函數則會以server所在的時區的現在時間為基準,依所指定的格式輸出,而一般php初學者都只用第一個參數來輸出現在的時間格式,而不知道有第2個參數可用,所以很多初學php的朋友都以為date函式只能取的目前的時間,其實date函式的第2個參數就是要輸出格式化的時間參數,也就是說若有填第2個參數則date函式會依所填的時間去作指定的格式輸出,而非輸出現在的時間,以下為範例;

範例1:

echo date("Y-m-d H:i:s");
會輸出現在時間(2009-08-18 14:48:52)


範例2:

echo date('Y-m-d',time(1242974613));
會輸出2009-08-18 06:50:53而非現在時間


以下為php的date含式的原型,給各位朋友參考一下

string date ( string $format [, int $timestamp ] )

http://tw.php.net/manual/en/function.date.php


延伸閱讀:
PHP函數參考大全

如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。

聖誕跑趴歡樂降★韓版假兩件針織連衣裙$890,新款顯瘦棒球服連帽風衣外套下殺$510,冬新款歐美棉襖棉服連帽短款外套限量↘$530,秋冬新款韓版大碼毛領氣質毛料外套↘$680,快上左耳貓網路購物

您好!如圖太小看不清楚,請 點選此處 看詳細內容 左耳貓蝦皮賣場 https://shopee.tw/hrf5168 左耳貓 露天賣場 http://class.ruten.com.tw/user/index00.php?s=starbox 左耳貓粉...