作者eiping (一平兄)
看板PHP
标题[请益] 自定函数与阵列的改善
时间Tue May 21 14:43:13 2013
各位高手大家好,小弟遇到的问题如下。
资料库类似如下
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');
?>
这样写是不是有逻辑的问题?怎麽想都想不出来要怎麽做,还请赐教,感恩!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.51.149
1F:→ alpe:$pd 的变数域 05/21 15:04
2F:→ MOONRAKER:那你还要资料库干嘛…统统凑到一个txt档里读进来就好了 05/21 15:11
3F:→ MOONRAKER:不用把资料库想得太笨,除非profile指出问题在资料库 05/21 15:12
4F:→ eiping:所以意思是说,就算一页存取一百次重复的资料也没关系吗? 05/21 15:23
5F:→ eiping:我是觉得这样好像影响我程式效能才想放在阵列存取 05/21 15:24
6F:→ tyf99:数量不多的话,你乾脆直接存 cookie,设半天过期 05/21 15:24
7F:→ MOONRAKER:你真的很想的话,可以把一百个凑成一个query 05/21 15:44
8F:→ MOONRAKER:query一次,得到一个一百项的阵列 05/21 15:45
9F:→ rocairforce:全部捞出来array('no' => name) 酱? 05/21 17:02
10F:→ MOONRAKER:是底 前提是一开始就知道是哪一百个 05/21 17:38
11F:→ MOONRAKER:不然就是取出後存在阵列 下次看阵列没有才再从db读取 05/21 17:40