PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme bei der Datumseingabe bei formularen!


Knisterkarl
24.09.2005, 00:01:12
schönen guten abend zusammen!

hat jemand nen tip mit welcher funktion ich folgendes problem lösen kann:

ich habe ein formular, in welches man ein geburtsdatum eingeben kann(wird in einer mysql db gespeichert). dieses datum benötige ich bei einer suchanfrage um den datensatz zu identifizieren....wenn ich jetzt im ersten schritt 1980-01-18 eingebe (das datum wird im feld date genau so gespeichert) und jemand dann die suchanfrage in der db startet und z.b. 18.01.1980 eingibt gibt es logischerweise wahrscheinlich keine übereinstimmung....

gibt es eine möglichkeit, mit der ich alle zeichen, die nicht unbedingt etwas mit dem datum zu tun haben (- . / etc.), weg bekomme bevor ich das datum in die db schreibe??

vielen Dank schon mal im voraus für eure hilfe!!

feuervogel
24.09.2005, 00:28:15
ja, mit str_replace kannst du beliebige zeichen durch beliebige andere zeichen ersetzen.

c4
24.09.2005, 00:47:32
Vor ungeahnter Kreativität bei Eingaben der Nutzer kannst Du Dich an dieser Stelle mit drei Formularfeldern (Tag, Monat und Jahr) retten.

Die wenigesten Nutzer werden wissen, geschweige denn irgendwelche Texte durchlesen, um zu erfahren, dass das Datum in diesem Format eingetragen werden soll.

Knisterkarl
24.09.2005, 01:06:58
@feuervogel --> ich habe mir str_replace mal angeschaut und auch ausprobiert, allerdings bekomme ich immer die gleiche ausgabe:

<?php
$datum = "19-01-1980";
echo $datum. "\n";

$array_1= array("-", ".", "/");
$array_2= array(" ", " ", " ");

for ($j=0;$j>3;$j++){
$datum = str_replace($array_1[$j], $array_2[$j], $datum);

}
echo $datum. "\n";
echo str_replace(".","_", $datum);

?>

kannst du mir auf die sprünge helfen, was ich da verrafft habe?!

@c4

ich habe mir schon fast so etwas gedacht...hab mich mal ne zeitlang gefragt, warum manche seitenbetreiber ihre datumsangabe so nervig gestalten...

Knisterkarl
24.09.2005, 01:19:41
Schande über mein Haupt!! >< vertauscht....ist ja auch schon spääääät!!!

Euch allen ein guats nächtle und schlaft gut!!

gruß stephan

feuervogel
24.09.2005, 01:28:29
einfacher ists so:

<?php
$datum = "19-01-1980";
echo $datum. "\n";

$array_1= array("-", ".", "/");
$array_2= array(" ", " ", " ");

$datum = str_replace($array_1, $array_2, $datum);

echo $datum. "\n";
echo str_replace(".","_", $datum);

?>

gehts denn nun?

c4
24.09.2005, 08:50:45
Nur mal so aus Neugierde: was soll denn das letzte str_replace('.', '_', $datum)??

xabbuh
24.09.2005, 12:01:59
Wäre das hier nicht ein wenig einfacher?


<?php
$datum = '2005-09-24';
print strftime('%d.%m.%Y', strtotime($datum)); // Ausgabe 24.09.2005

// umgekehrt:
$datum = '24.09.2005';
print implode('-', array_reverse(explode('.', $datum))); // Ausgabe 2005-09-24
?>