1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>mySQL-sample 'SHOW FIELDS'</title>
</head>
<body>
<form name="showfields" method="POST" action="irgendwo.php">
<input type="hidden" name="submitme" value="true" />
<table border="0" width="500">
<?php
/**
*
* @author Daniel <daniel.hauser@oleco.net>
* @version -
* @module -
*/
// Das ist nur eine externe Datei mit den mySQL-Daten
include('mysql-config.inc.php');
function FTFE($eName, $eType, $eStd='') {
// Eine kleine Funktion, die abhängig vom Feldtyp ein anderes
// Formelement zurückgibt. Vollständig ist das allerdings nicht,
// da fehlen noch Typen wie FLOAT, DOUBLE, TIME, DATETIME etc.
if(preg_match('/int\((.*)\)$/m', $eType, $eMaxLen)) { // *int(x)
$returnMe = '<input type="text" name="' . $eName;
$returnMe.= '" size="30" maxlength="' . $eMaxLen[1];
$returnMe.= '" value="' . $eStd . '" />';
} elseif(preg_match('/^varchar\((.*)\)$/m', $eType)) { // varchar(x)
$returnMe = '<input type="text" name="' . $eName;
$returnMe.= '" size="30" maxlength="' . $eMaxLen[1];
$returnMe.= '" value="' . $eStd . '" />';
} elseif($eType=='text' or $eType=='mediumtext' or $eType=='longtext') { // *text
$returnMe = '<textarea name="' . $eName . ' cols="35" rows="4">' . $eStd . '</textarea>';
} elseif(preg_match('/enum\((.*)\)$/m', $eType, $eItems)) { // enum(x)
$eItems = split(',', $eItems[1]);
$returnMe = '<select name="' . $eName . '">';
for($i=0;$i<count($eItems);$i++) {
$eItems[$i] = substr($eItems[$i], 1, strlen($eItems[$i])-2);
if($eItems[$i]==$eStd) {
$returnMe.= '<option value="' . $eItems[$i]. '" selected="selected">' . $eItems[$i] . '</option>';
} else {
$returnMe.= '<option value="' . $eItems[$i]. '">' . $eItems[$i] . '</option>';
}
}
$returnMe.= '</select>';
} elseif(preg_match('/blob$/m', $eType)) { // *blob-Felder
$returnMe = '<input type="file" name="' . $eName . '" />';
}
return $returnMe;
}
// Überspringt bestimmte Feldnamen, zB interne ID's, automatische Zeitangaben etc.
$exclude = array('filename', 'filetype', 'time', 'image_thumb');
// mySQL-Verbindung herstellen.
$dH = mysql_connect($configval['mysql_server'],$configval['mysql_user'],$configval['mysql_pass']);
mysql_select_db($configval['mysql_database'],$dH);
// Query an den Server senden und Ergebnisse durch eine Schleife laufen lassen
$sqry = mysql_query("SHOW FIELDS FROM gallery",$dH);
while($sdata = mysql_fetch_array($sqry)) {
if(in_array($sdata['Field'],$exclude)) {
// Falls ein Name in $exlude vorkommt, überspringen
continue;
}
echo '<tr><td>' . $sdata['Field'] . '</td>';
echo '<td>' . FTFE($sdata['Field'],$sdata['Type'],$sdata['Default']) . '</td></tr>';
// function FTFE() == Field Type Form Element aufrufen
}
// mySQL-Verbindung beenden
mysql_close($dH);
?>
</table>
<br />
<input type="submit" name="submit" value="absenden" />
</form>
</body>
</html> |