Suche etwas wie mysql_num_rows();

balufreak

balufreak

Aktives Mitglied
Thread Starter
Dabei seit
12.10.2003
Beiträge
1.563
Reaktionspunkte
28
Hallo Leute!

Es gibt ja um die Zeilen in einer Tabelle zu bestimmen den befehl
PHP:
mysql_num_rows();
. Ich suche jetzt aber ein Befehl um die Spalten zu zählen und deren Namen auszulesen.

Der Sinn dabei ist, dass ich unabhänig von einer db_table eine html tabelle generieren kann.

Kennt jemand so ein Befehl?

Greets balufreak
 
Eine richtige Funktion kenne ich nicht, Du könntest aber einen SELECT auf alle Spalten machen (so über den PKey einschränken, dass Du nur einen Datensatz in voller Spaltenbreite bekommst), das Resultset mit mysql_fetch_row in ein Array schreiben und die Größe des Array's auslesen.

Gruß,
Micha
 
Aber wie funktioniert denn das mit phpmyadmin? hmmm...
 
keine Ahnung, schau doch nach... :cool:
 
Bin ich schon dran :p
 
Ja sowas gibts tatsächlich.

Anzahl der Felder:
mysql_num_fields();

Feldnamen:
mysql_field_name();

Beispiel:
PHP:
function map_field_name($field_name)
{
  $fields = array (
    "feldname1"  => "Name1",
    "feldname2"  => "Name2",
    "feldname3"  => "Name3");

  if(array_key_exists($field_name,$fields))
    return ($fields[$field_name]);
  else
    return "<i>" . $field_name . "</i>";
}

function print_table($sql)
{
  $qry         = mysql_query($sql);
  $field_num = mysql_num_fields($qry);
  $row_num  = mysql_num_rows($qry); 
  
  echo "<table border=\"1\">
          <tbody>";
  
  echo "<tr>";
  for($i = 0; $i < $field_num; $i++)
  {      
    echo "<td>" . map_field_name(mysql_field_name($qry, $i)) . "</td>";
  }
  echo "</tr>";  
          
  while($row = mysql_fetch_array($qry))
  {
    echo "<tr>";
    for($i = 0; $i < $field_num; $i++)
    {      
      echo "<td>" . $row[$i] . "</td>";
    }
    echo "</tr>";    
  }
  
  echo "  </tbody>
        </table>";
}

Bis neulich ...
 
Zurück
Oben Unten