作者a60301 (mingtsay〃小喵)
看板PHP
標題Re: [請益] 自定函數與陣列的改善
時間Wed May 22 09:12:00 2013
<?php
$pd = array();
function kindname
($pd_no)
{
global $pd;
$pd_no = (int)$pd_no; // 確保傳進來的是整數
if(!isset($pd[$pd_no]))
{
$result = mysql_fetch_array(mysql_query(
"SELECT `pd_name` FROM `product_information` " .
"WHERE `pd_no` = $pd_no"
));
$pd[$pd_no] = $result['pd_name'];
}
return $pd[$pd_no];
}
※ 引述《eiping (一平兄)》之銘言:
: 各位高手大家好,小弟遇到的問題如下。
: 資料庫類似如下
: no name
: 1 陳
: 2 黃
: 3 張
: 原本我寫了一個自訂函式,只要把no數字帶入,就能查到姓氏。
: 如 echo name(1);
: 就會印出 陳
: 但這樣產生一個問題,如果該頁用了100次這個函數,那就會存取資料庫100次
: 所以我想要先把資料庫內的資料讀取一次,存入陣列內,之後函數就不用再存取資料庫
: 程式如下
: <?
: $mysql="SELECT pd_no,pd_name FROM product_information";
: $result = mysql_query("$mysql");
: while($row = mysql_fetch_array($result))
: {
: $pd[$row[pd_no]]=$row[pd_name];
: }
: function kindname($pdno)
: {
: return $pd[$pd_no];
: };
: echo kindname('1');
: ?>
: 這樣寫是不是有邏輯的問題?怎麼想都想不出來要怎麼做,還請賜教,感恩!!
--
★∥ ○ ◢ 〞` ◣ ◥◣◢◣◢◣ ◢▏。 ○ ο ∣★
★| ° ◢ ╮ ██◤ █◤◥◤█ ∥ o ° ∥★
★∥ 。 ● ● ◤ ◥ █ █ ∥ ◢╱﹋◣ 。 ∣★
★∣ ◥ˍ ◤◤ ◢◤ ◢◢◤██◤ ◣ ◢╱ ● ︶ ( ∥★
★∥ ( ◢◤ ◤ing ∥say ◢███ ╰ ◤ ζ ) ∣★
★│ ) mt.rmstudio.tw ︾ [email protected] ◤ ◥◢ ◤◤ wnqui ∥★
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.34.74.8
X
※ 編輯: a60301 來自: 114.34.74.8 (05/22 09:18)
→ MOONRAKER:好黑啊 停電了嗎 05/22 09:18
→ a60301:稍微加亮了 05/22 09:19
→ MOONRAKER:感謝 05/22 10:35
推 PsMonkey:有 data sync 的問題吧? Orz 05/22 10:42
→ a60301:這個頁面應該執行時間不會太久,下次跑就會重新取得 05/22 10:51
→ PsMonkey:喔喔... 拍謝... 我都忘記有這哏了 Orz 05/22 10:54
※ 編輯: a60301 來自: 114.34.74.8 (05/22 12:17)
推 eiping:好感恩。。。基本功都不會,看了才知道全域變數可以先宣告 05/23 02:29