Hi Leutz,
habe folgendes Problem:
Habe das geburtsdatum einer Person in meiner Mysql-Datenbank in Tag, Monat, Jahr verteilt, quasi drei Spalten.
Über mein Formular wo ein Benutzer diese eingibt werden alle Tage und monate, die einen Wert unter 10 haben (z.B September = 09) als 1, 2, 3....9 statt 01, 02, 03... 09 gespeichert.
das liegt an folgenden Funktionen:
Verwende diese, weil ich im Daten-ändern-Formular Tag und Monat in ein Select Feld reinlade und den Monat nicht als Wert sondern mit Namen da drin haben will.
Funzt soweit, hat aber einen Nachteil:
Jetzt bastele ich grad an nem Birthday reminder. Dazu hab ich zusätzlich noch ne Spalte geburtstag in der Datenbank eingetragen.
Sobald ein user seine daten ändert: wird $geburtstag aus $tag,$monat und $ jahr zusammengesetzt.
Hat einer wie z.B. ich am 22.12.1984 geburtstag geht das und in $geburtstag steht hinterher 19841222
Hat einer aber am 04.04 geburtstag steht da 198444... damit kann min birthday-reminder dann aber logischerweise nix anfangen.
Was ist sinnvoller bzw. einfacher? Im birthday-reminder die werte tag, monat und jahr aus db holen und mit irgent einer funktion bei werten wie z.b. 4 ne null davorzuschreiben?
Oder eher 2. die beiden funktionen select_tag und select_monat so umzuschreiben dass sie den wert aus der spalte geburtstag aufsplitten und bei änderung wieder richtig zurückgeben?
Und welche Lösung auch immer, wie stell ich das an ?
Mfg deschmiddi
habe folgendes Problem:
Habe das geburtsdatum einer Person in meiner Mysql-Datenbank in Tag, Monat, Jahr verteilt, quasi drei Spalten.
Über mein Formular wo ein Benutzer diese eingibt werden alle Tage und monate, die einen Wert unter 10 haben (z.B September = 09) als 1, 2, 3....9 statt 01, 02, 03... 09 gespeichert.
das liegt an folgenden Funktionen:
PHP Code:
function select_tag() {
$option = '<option value="%s" %s>%s</option>';
$selected[$this->tag] = "selected";
$tagarr = array(
1 => "01",
2 => "02",
3 => "03",
4 => "04",
5 => "05",
6 => "06",
7 => "07",
8 => "08",
9 => "09",
10 => "10",
11 => "11",
12 => "12",
13 => "13",
14 => "14",
15 => "15",
16 => "16",
17 => "17",
18 => "18",
19 => "19",
20 => "20",
21 => "21",
22 => "22",
23 => "23",
24 => "24",
25 => "25",
26 => "26",
27 => "27",
28 => "28",
29 => "29",
30 => "30",
31 => "31");
foreach($tagarr as $value => $name) {
$options .= sprintf($option, $value, $selected[$name], $name);
}
return $options;
}
function select_monat() {
$option = '<option value="%s" %s>%s</option>';
$selected[$this->monat] = "selected";
$monatarr = array(
1 => "Januar",
2 => "Februar",
3 => "März",
4 => "April",
5 => "Mai",
6 => "Juni",
7 => "Juli",
8 => "August",
09 => "September",
10 => "Obtober",
11 => "November",
12 => "Dezember");
foreach($monatarr as $value => $name){
$options .= sprintf($option, $value, $selected[$value], $name);
}
return $options;
}
Funzt soweit, hat aber einen Nachteil:
Jetzt bastele ich grad an nem Birthday reminder. Dazu hab ich zusätzlich noch ne Spalte geburtstag in der Datenbank eingetragen.
Sobald ein user seine daten ändert: wird $geburtstag aus $tag,$monat und $ jahr zusammengesetzt.
Hat einer wie z.B. ich am 22.12.1984 geburtstag geht das und in $geburtstag steht hinterher 19841222
Hat einer aber am 04.04 geburtstag steht da 198444... damit kann min birthday-reminder dann aber logischerweise nix anfangen.
Was ist sinnvoller bzw. einfacher? Im birthday-reminder die werte tag, monat und jahr aus db holen und mit irgent einer funktion bei werten wie z.b. 4 ne null davorzuschreiben?
Oder eher 2. die beiden funktionen select_tag und select_monat so umzuschreiben dass sie den wert aus der spalte geburtstag aufsplitten und bei änderung wieder richtig zurückgeben?
Und welche Lösung auch immer, wie stell ich das an ?
Mfg deschmiddi
Comment