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

odbc_result_allGibt das aktuelle Abfrageergebnis als HTML-Tabelle aus


Diese Funktion ist seit PHP 8.1.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieser Funktion wird dringend abgeraten.


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

Gibt alle Zeilen einer Ergebniskennung, die von odbc_exec() erstellt wurde, aus. Das Ergebnis ist als HTML-Tabelle formatiert. Die Daten werden nicht maskiert.

Diese Funktion ist nicht für den Einsatz in Produktionsumgebungen gedacht; sie ist lediglich für Entwicklungszwecke gedacht, um schnell eine Ergebnisliste anzuzeigen.



Die Ergebniskennung.


Zusätzliche allgemeine Tabellenformatierung.


Gibt die Anzahl der Zeilen in einem Ergebnis zurück oder false im Fehlerfall.


Version Beschreibung
8.1.0 Diese Funktion ist veraltet.

add a note

User Contributed Notes 5 notes

ZAPtheZAPs dot schulze dot zap at zap dot telstra dot com
18 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>";
   { $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
marius at stones dot com
19 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;

martin dot vgagern at gmx dot net
22 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.
rabbott at calstatela dot edu
22 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!)
alvaro at demogracia dot com
13 years ago
The $format parameter is an optional string that gets inserted in the <table> tag. The string is printed as-is. E.g.:

($res, 'id="users" class="listing"');

... prints:

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