Re: [請益] 一段程式與陣列問題~請幫解答!
※ 引述《jolin19 (alex)》之銘言:
: : 程式如下:(不好意思~補上xoop定義的function)
: function execute($xoopsDB, $sql, $standalone = false, $multiple = false)
: {
: if ($standalone) {
: $result = $xoopsDB->query($sql) or die("DB Fail: $sql");
: if (DEBUG) echo "$sql ... ok\n";
: } else {
: if (SELECT_DB_NAME != XOOPS_DB_NAME)
: $xoopsDB->selectdb("FundEval");
: $result = $xoopsDB->query($sql) or die ("DB Fail: " .
: dumpLastQuery($xoopsDB->logger));
: if (DEBUG) echo "$sql ... ok<br>";
: if (SELECT_DB_NAME != XOOPS_DB_NAME)
: $xoopsDB->selectdb(XOOPS_DB_NAME);
: }
: if ($multiple) {
: $rows = array( );
: while($row = $xoopsDB->fetchArray($result))
: $rows[] = $row;
: return $rows;
: } else {
: $row = $xoopsDB->fetchArray($result);
: return $row;
: }
: }
: : $sql = "SELECT a.fund_id, a.name, b.acc_star, b.time_star, " .
: : " b.sharp6, b.sharp12, b.sharp24, ".
: : " b.ret, b.acc, b.time ".
: : "FROM $fund_table a, $fund_statics b ".
: : "WHERE b.fund_id=a.fund_id ".
: : $where .
: : "AND b.time_index='$date' ".
: : $sql_star;
: : $statics = execute($xoopsDB, $sql, false, true); // 這行不懂?
execute 傳入四個參數
第一個是 xoop 的資料庫操作物件
第二個是 要傳入的 sql 敘述句
第三個是資料庫切換,這邊我不知道 xoops 的資料庫是怎麼規劃的,所以不曉得它的
作用是什麼,程式的意思是如果傳入 false,切換到 "FundEval" 這個 database
否則會以 $xoopsDB 預設的 database 操作。
第四個參數是傳回多列或只有一列。
在你的例子裡,參數四是 true,所以 $statics 會是一個多維陣列,
應該就是 mysql_fetch_array($result) 的所有 rows 的陣列。
(它使用的是 $xoopsDB 的方法,作用應該是一樣的吧)
print_r 出來大概是這樣:
Array{
[0] Array{
func_id => ...
name => ....
.......
}
[1] Array{
func_id => ...
.......
}
}
裡面的 [0] 陣列就是一 row
如果你要排序,一開始在 sql 敘述句裡做 ORDER BY,
PHP 的多維陣列排序這邊有例子:
http://tw2.php.net/manual/en/function.array-multisort.php
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.80.138.232
→
05/03 17:53, , 1F
05/03 17:53, 1F
→
05/04 14:36, , 2F
05/04 14:36, 2F
→
05/04 14:37, , 3F
05/04 14:37, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
6
14