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 个注释

ZAPtheZAPs dot schulze dot zap at zap dot telstra dot com
20 年前
Marius 代码的修订版本,适用于备忘录字段。(也返回而不是打印字符串)

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;}

尊敬的版主:如果您将整个手册都转换为维基(例如 http://en.wikipedia.org),您将节省大量时间,并且在一年内,这将成为任何事物的最佳手册!!

此致,Erich
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 .= "<!--Debugging output for SQL query-->\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 .= "<!--End debug from SQL query-->\n\n";
return $table;
}

享受...
martin dot vgagern at gmx dot net
24 年前
正如一些人在 ODBC 概述中所述,一些有错误的驱动程序总是返回 -1 的行数。据我所知,解决此问题的唯一方法是通过调用 odbc_fetch_into 或 odbc_fetch_row 来计算行数,然后自己构建表格。
rabbott at calstatela dot edu
24 年前
odbc_result_all($result) 循环遍历
$result。因此,随后对 odbc_fetch_row($result) 的调用将失败。
您必须使用 odbc_fetch_row($result, 1)
来重置 $result。(但当我这样做时,
我得到了崩溃!)
alvaro at demogracia dot com
15 年前
$format 参数是一个可选字符串,它被插入到 <table> 标记中。字符串按原样打印。例如

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

... 打印

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