odbc_result_all

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

odbc_result_allВыводит результат в виде HTML-таблицы

Внимание

Функция объявлена УСТАРЕВШЕЙ начиная с PHP 8.1.0. Использовать эту функцию крайне не рекомендуется.

Описание

odbc_result_all(resource $statement, string $format = ""): int|false

Печатает все строки из идентификатора результата, созданного odbc_exec(). Результат печатается в формате HTML-таблицы. Данные не экранируются.

Функция не предназначена для использования в производственной среде; она должна использоваться при разработке для быстрого получения результирующего набора.

Список параметров

statement

Идентификатор результата.

format

Дополнительный параметр для указания общего форматирования таблицы.

Возвращаемые значения

Возвращает количество строк в результате или false в случае возникновения ошибки.

Список изменений

Версия Описание
8.1.0 Функция объявлена устаревшей.

add a note add a note

User Contributed Notes 5 notes

up
3
ZAPtheZAPs dot schulze dot zap at zap dot telstra dot com
20 years ago
a revised version marius' code that works with Memo fields. (also returns rather than prints strings)

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

DEAR MODERATORS: you would save yourselve much much time by making this entire manual into a wiki (ie like http://en.wikipedia.org ) and within a year this would be the best manual on anything!!

best wishes, Erich
up
1
marius at stones dot com
21 years ago
I've written this little function that functions simirarly to odbc_result_all, but works with MySQL:

/**
* This function emulates the odbc_result_all function, which will return a HTML table cosisting of
* the results of an SQL query.
* Usage: pass a mysql result set to this function, and it will return (not output) a string containing
* an HTML table
* Parameters:
* - $result is your mysql result set (result of a mysql_query() function call)
* - $tableFeatures is a string containing any HTML TABLE features you would like in the table
*   (eg. BORDER="0" etc.)
*/
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;
}

Enjoy...
up
1
martin dot vgagern at gmx dot net
24 years ago
As some people stated in the ODBC overview, some buggy drivers always return the number of rows to be -1. AFAIK the only way to help this situation is to count the rows by calls to odbc_fetch_into or odbc_fetch_row and then build the table yourself.
up
-1
rabbott at calstatela dot edu
24 years ago
odbc_result_all($result) cycles through
$result. So a subsequent call to odbc_fetch_row($result) will fail.
You must use odbc_fetch_row($result, 1)
to reset $result.  (But when I do that,
I get a crash!)
up
-4
alvaro at demogracia dot com
15 years ago
The $format parameter is an optional string that gets inserted in the <table> tag. The string is printed as-is. E.g.:

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

... prints:

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