phpbar.de logo

Mailinglisten-Archive

[php] PHP 3 mit GD 1.6

[php] PHP 3 mit GD 1.6

thomas.schuermann_(at)_stadt-gladbeck.de thomas.schuermann_(at)_stadt-gladbeck.de
Thu, 09 Sep 1999 14:51:59 +0200


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