dani
Goto Top

php - Spaltennamen einer MySQL Tabelle auslesen

Hallo miteinander,

ich möchte gerne die Namen der Spalten aus einer Tabelle auslesen. Aber irgendwie bekomm ich nur auf die Werte der Spalten Zugriff.
Hat jemand eine Idee, wie ich an die Namen ran komme. Sollte mit php realisiert sein!! Danke...


Gruß
Dani

Content-Key: 31240

Url: https://administrator.de/contentid/31240

Printed on: April 16, 2024 at 16:04 o'clock

Member: pi314
pi314 Apr 26, 2006 at 16:15:33 (UTC)
Goto Top
hi,

schau mal unter
http://de.php.net/mysql_field_name

sind auch nette Beispiele drin..

oder suchst du was anderes?
Member: Dani
Dani Apr 26, 2006 at 17:03:26 (UTC)
Goto Top
Hi,
es gibt nur ein Beispiel das auf mein Problem passen könnte. Geht wunderbar!!! Danke..


Gruß
Dani
Member: dsmcg
dsmcg Jun 08, 2006 at 23:06:22 (UTC)
Goto Top
Sollte man so etwas nicht direkt von MySQL lösen lassen?

Beispiel:

SHOW COLUMNS FROM tabellenname;
Member: Dani
Dani Jun 09, 2006 at 07:22:47 (UTC)
Goto Top
Hi,
ich brauche die Namen dann sowieso in PHP!!
Mit diesem Script suche ich nach den falsch dargestellen Zeichen (ä,ü,ö,ß) und ersetze diese.
<?php

include ('inc/header.php');  

//Dekl. von Variablen
$anzahl=0;

//Makiert alle Tabellen in der Datenbank
$sql="SHOW TABLE STATUS FROM tennis;";  
$result=mysql_query($sql);
while($tabelle=mysql_fetch_object($result))
 {
  //Makiert alle Spaltennamen in der Tabelle
  $sql2="SHOW COLUMNS FROM $tabelle->Name;";  
  $result2=mysql_query($sql2);
  while($spalten=mysql_fetch_object($result2))
   {
    //Makiert alle Datensaätze in der Tabelle
  	$sql3="SELECT * FROM $tabelle->Name;";  
	$result3=mysql_query($sql3);
	while($zelle=mysql_fetch_object($result3))
	 {
	  //Erzeugt ein Objekt auf den Spaltennamen
  	  $spalte="$spalten->Field";  
	
	  //Ersetzt alle ä,ö,ü,ß
	  $new=str_replace("ö","ö",$zelle->$spalte);  
	  $new=str_replace("ä","ä",$new);  
	  $new=str_replace("ü","ü",$new);  
	  $new=str_replace("Ã?","ß",$new);  
	
	  //Schreibt den neuen Wert in die gleiche Zelle
	  $sql4="UPDATE $tabelle->Name SET $spalten->Field='$new' WHERE $spalten->Field='".$zelle->$spalte."';";  
	  mysql_query($sql4);
	
	  //Ausgabe
	  echo "Tabellenname: $tabelle->Name";  
	  echo "Spaltenname:$spalten->Field";  
	  echo "Text: $new";  
      echo "";  
	  
     }
	 //Um 1 erhöhen
	 $anzahl++;
   }
 }
//Ausgabe der Anzahl
echo "Einträge: $anzahl";  
?>


Gruß
Dani
Member: dsmcg
dsmcg Jun 10, 2006 at 11:58:31 (UTC)
Goto Top
Es gilt, was man mit MySQL lösen kann, sollte man auch mit MySQL lösen, Resourcen sparen ;)