SHOW FULL COLUMNS und Inhalte auslesen

Thomas_Jung

Erfahrenes Mitglied
Hallo

Ich lese die Feldinformation mit dieser Abfrage aus.
Nun möchte ich auch die Inhalte (Datensätze) gleichzeitig anzeigen lassen.

PHP:
mysql_select_db($_REQUEST['set_db_name']);
$sql = "SHOW FULL COLUMNS FROM  `".$_REQUEST['set_table_name']."`";
$query = mysql_query($sql) or die ("<b>Ein Fehler ist aufgetreten.</b><br /><b>Query:</b> <pre>" . $sql . "</pre><br /> <b>Error:</b> (" . mysql_errno() . ") <br /><pre>" . mysql_error() . "</pre><br /><b>Datei:</b> "  . __FILE__ . "<br /><b>Zeile:</b> " . __LINE__ );

while ($row = mysql_fetch_assoc($query)) {
Das gibt den Namen aus $row['Field'].
Was muß ich tun um gleichzeitig an den Datesatz zu kommen? 
}

Gruß Thomas
 
SHOW FULL COLUMNS gibt keine Datensätze sondern nur die Spaltendefinitionen aus.

Wenn du die Spaltennamen und die Daten braucjst, dann kannst du das normal mit dem mysql_fetch_assoc() auf die Daten machen.

PHP:
$sql = 'SELECT * FROM test';
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
    foreach($row as $fieldName => $value){
        echo "{$fieldName}: '{$value}'<br />\n";
    }
    echo "<br />\n";
}
ergibt in dem Fall sowas:
Code:
id: '1'
name: 'n1'
geburtsdatum: '1972-06-01'

id: '2'
name: 'n4'
geburtsdatum: '1985-11-12'

id: ''
name: 'n3'
geburtsdatum: ''
 
Hi Yaslaw

Ich brauche aber umbedingt die Feld-Info von Typ Länge/Set Standard Kommentare.
Kann ich sie auch auslesen?

Gruß Thomas
 
PHP:
echo "<h1>Definitionen</h1>\n";
//Feld-Infos abfragen
$sql = 'SHOW FULL COLUMNS FROM test';
$result = mysql_query($sql);
while($fieldDef = mysql_fetch_assoc($result)){
    $fieldsDefs[$fieldDef['Field']] = $field;
    // Feld-Infos ausgeben
    echo "<b>{$fieldDef['Field']}:</b> Definition:={$fieldDef['Type']}; Default:={$fieldDef['Default']}; Comment:='{$fieldDef['Comment']}';<br />\n";; 
}
echo "<h1>Daten mit Definitioen kombiniert</h1>\n";

//Tabellen-Daten abfragen
$sql = 'SELECT * FROM test';
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result)){
    foreach($fieldsDefs as $fieldName => $fieldDef){
        echo "{$fieldName} ({$fieldDef['Type']}): '{$row[$fieldName]}'<br />\n";
    }
    echo "<br />\n";
}

Code:
Definitionen

id: Definition:=int(10); Default:=; Comment:='';
name: Definition:=varchar(10); Default:=; Comment:='';
geburtsdatum: Definition:=date; Default:=; Comment:='';
test_set: Definition:=enum('Y','N'); Default:=Y; Comment:='Hallo Welt';

Daten mit Definitioen kombiniert

id (): '1'
name (): 'n1'
geburtsdatum (): '1972-06-01'
test_set (): 'Y'

id (): '2'
name (): 'n4'
geburtsdatum (): '1985-11-12'
test_set (): 'Y'

id (): ''
name (): 'n3'
geburtsdatum (): ''
test_set (): 'Y'
 
HI

Vielen Dank für deine Mühe!!

$fieldsDefs[$fieldDef['Field']] = $field;

Woher kommt das Feld $field ****

Das Array $fieldsDefs ist leer.
 
Hi Yaslaw

Jetzt ist es Perfekt.

Vielen Dank für deine Zeit und Mühe.

Wünche dir (euch allen ein Schönes Wochenende)

Gruß Thomas
 
Zurück