Mailinglisten-Archive |
Armin Steiner schrieb am Donnerstag, den 9. September 1999: > folgende Funktion (DatumKonvertierung aus MySQL-db): > > function unix2de($myrow[0]) { > $udatum=$myrow[0]; > $adatum=explode('-', $udatum); > $fdatum="$adatum[2].$adatum[1].$adatum[0]"; > return $fdatum; > } > > echo "<table border=1 width=200>\n"; > echo "<tr><td><font face='verdana' size='2'><b>DATUM</b></td></tr>\n"; > > while ($myrow = mysql_fetch_row($result)) { > unix2de('myrow[0]'); > printf("<tr><td><font face='verdana' size='2'><b>%s</b></td></tr>\n", > $fdatum); > } > > [......] > > In myrow[0] ist der Datumswert, der durch die while-schleife ausgelesen > wird, drin. Wie übergeben ich den nun richtig an die funktion unix2de(), > damit diese mir $fdatum zum Ausdruck auf Bildschirm zurückgibt?? Armin, da geht ja einiges durcheinander ... Ich habe den Eindruck, Du weißt noch gar nicht so recht, wie das mit Funktionen im allgemeinen läuft, oder? Als Mini-Beispiel hier eine Funktion, die einfach das Quadrat einer Zahl liefern soll: function quadrat($x) { return $x*$x; } Genutzt wird diese Funktion jetzt s.B. so: $a = quadrat(5); echo $a; --> ergibt 25 echo quadrat(5); --> das gleiche, ohne Zwischenspeicherung echo quadrat(4)+quadrat(5); --> ergibt 41 Das $x in "function quadrat($x)" ist eine Variable, die es nur innerhalb der Funktion gibt und die jedesmal, wenn dann diese Funktion im Progamm aufgerufen wird, den Wert aus dem Aufruf zugewiesen bekommt. Auch alle anderen Variablen innerhalb der Funktion gibt es nur dort innerhalb der Funktion. Und der Wert, den man mit "return" zurück gibt, ist der Wert der Funktion an der Stelle, wo sie aufgerufen wird. Deine Funktion würde ich so schreiben: function unix2de($udatum) { $adatum = explode('-', $udatum); // In Einzelteile zerlegen. return "$adatum[2].$adatum[1].$adatum[0]"; } Und aufrufen dann per: $fdatum = unix2de($myrow[0]); Du Du das Datum aber aus einer MySQL-Datenbank holst, gibt's auch einen ganz anderen Lösungsansatz, nämlich daß Du Dir das Datum schon gleich von MySQL im "deutschen" Format liefern läßt! Statt "SELECT datum" (oder wie auch immer da Feld bei Dir heißt), nimm einfach SELECT DATE_FORMAT(datum, '%d.%m.%Y') AS dedatum ... Ciao, Martin -- Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ > PGP: 0xE8EF4F75, 52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7
php::bar PHP Wiki - Listenarchive