PHP Conference Japan 2024

odbc_result_all

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_result_all以 HTML 表格列印結果

警告

此函式從 PHP 8.1.0 起已不建議使用。 強烈建議不要依賴此函式。

描述

#[\Deprecated]
odbc_result_all(Odbc\Result $statement, string $format = ""): int|false

列印由 odbc_exec() 產生的結果物件中的所有列。結果會以 HTML 表格格式列印。資料不會被逸出。

此函式不應在生產環境中使用;它僅用於開發目的,以便快速呈現結果集。

參數

statement

ODBC 結果物件。

format

額外的整體表格格式設定。

回傳值

回傳結果中的列數,或錯誤時回傳 false

更新日誌

版本 描述
8.4.0 statement 現在期望 Odbc\Result 實例;先前,則期望 resource
8.1.0 此函式已不建議使用。

新增筆記

使用者貢獻筆記 5 筆記

3
ZAPtheZAPs dot schulze dot zap at zap dot telstra dot com
20 年前
修改後的版本 marius' 程式碼,可用於 Memo 欄位。(也會傳回而不是列印字串)

function ODBCResourceToHTML($res, $sTable, $sRow)
{$cFields = odbc_num_fields($res);
$strTable = "<table $sTable ><tr>";
for ($n=1; $n<=$cFields; $n++)
{$strTable .= "<td $sRow><b>". str_replace("_", " ", odbc_field_name($res, $n)) . "</b></td>";}
$strTable .= "</tr>";
while(odbc_fetch_row($res))
{ $strTable .= "<tr>";
for ($n=1; $n<=$cFields; $n++)
{$cell = odbc_result($res, $n);
if ($cell=='') {$strTable .= "<td $sRow>&nbsp;</td>";}
else {$strTable .= "<td $sRow>". $cell . "</td>";}}
$strTable .= "</tr>";}
$strTable .= "</table>";
Return $strTable;}

親愛的版主:你們可以將整個手冊變成一個 wiki(例如 http://en.wikipedia.org),這樣可以節省你們很多時間,而且一年之內這將會是所有東西當中最好的手冊!!

致上誠摯的祝福,Erich
1
marius at stones dot com
21 年前
我寫了一個小函式,其功能類似 odbc_result_all,但適用於 MySQL

/**
* 此函式模擬 odbc_result_all 函式,它會回傳一個包含 SQL 查詢結果的 HTML 表格
*。
* 用法:將 MySQL 結果集傳遞給此函式,它會回傳(而不是輸出)一個包含 HTML 表格的字串
*
* 參數
* - $result 是您的 MySQL 結果集 (mysql_query() 函式呼叫的結果)
* - $tableFeatures 是一個字串,其中包含您想要在表格中的任何 HTML TABLE 功能
* (例如 BORDER="0" 等)
*/
function _mysql_result_all($result, $tableFeatures="") {
$table .= "<!--SQL 查詢的除錯輸出-->\n\n";
$table .= "<table $tableFeatures>\n\n";
$noFields = mysql_num_fields($result);
$table .= "<tr>\n";
for ($i = 0; $i < $noFields; $i++) {
$field = mysql_field_name($result, $i);
$table .= "\t<th>$field</th>\n";
}
while ($r = mysql_fetch_row($result)) {
$table .= "<tr>\n";
foreach ($r as $kolonne) {
$table .= "\t<td>$kolonne</td>\n";
}
$table .= "</tr>\n";
}
$table .= "</table>\n\n";
$table .= "<!--結束 SQL 查詢的除錯-->\n\n";
return $table;
}

請享用...
1
martin dot vgagern at gmx dot net
24 年前
如同某些人在 ODBC 總覽中所述,某些有錯誤的驅動程式總是會將回傳的列數設為 -1。AFAIK 解決這種情況的唯一方法是透過呼叫 odbc_fetch_into 或 odbc_fetch_row 來計算列數,然後自行建立表格。
-1
rabbott at calstatela dot edu
24 年前
odbc_result_all($result) 會循環遍歷
$result。因此,後續呼叫 odbc_fetch_row($result) 將會失敗。
您必須使用 odbc_fetch_row($result, 1)
來重設 $result。(但是當我這樣做時,
我會當機!)
-4
alvaro at demogracia dot com
15 年前
$format 參數是一個選用的字串,會插入到 <table> 標籤中。字串會按原樣列印。例如

<?php
odbc_result_all
($res, 'id="users" class="listing"');
?>

... 會列印

<table id="users" class="listing" >...
To Top