Feldlängeherausfinden
am 05.02.2005 01:31:14 von Erik GriffinHallo!
Ich nehme Bezug auf den Thread <32m2tdF3nbvl4U1@individual.net>.
Ich habe mir nun eine Methode gebastelt, womit ich die definierte
maximale Feldlänge eines Feldes herausbekomme (gibts in dieser
Form leider bisher nicht):
function GetMaxLength($Table) {
$mysqli = new mysqli(GetDBVar("DB_HOST"), GetDBVar("DB_USER"), GetDBVar("DB_PASSWD"), GetDBVar("DB_NAME"));
$query = "SHOW COLUMNS FROM ".$Table;
if ($result = $mysqli->query($query)) {
$a = array();
$b = array();
while ($row = $result->fetch_row()) {
array_push($a, $row[0]);
array_push($b, preg_replace("/.*\((\d+)\).*/i","$1",$row[1]));
}
$c = array_combine($a, $b);
}
$mysqli->close();
return $c;
}
Die Methode kann ich dann wie folgt verwenden:
$a = GetMaxLength("Customer");
echo $a["Anrede"];
Leider bin ich mit meiner Lösung nicht so sehr zufrieden. Gibt es
eine Möglichkeit wie ich dynamisch Elemente in ein Array einfügen
kann mit Bezeichnung eines Schlüssels? Bisher mache ich das so,
das ich mir ein Array $a und ein Array $b erzeuge und diese dann
kombiniere, wobei in $a die Schlüssel und in $b die Werte
drinstehen. Sowas wie
array_push($a, $row[0] => preg_replace("/.*\((\d+)\).*/i","$1",$row[1]));
hat leider nicht funktioniert. Falls noch jemanden eine Verbesserung
auffällt wäre ich für anregende Tips dankbar.
mfg
Erik