geburtstagsliste

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
red-head
Mitglied
Beiträge: 18
Registriert: 08.02.2006 13:25
Wohnort: Langenhorn

geburtstagsliste

Beitrag von red-head »

moinsen zusammen! :)

ich hab da mal wieder *schäm* ein kleines problem...

ich versuche krankhaft eine geburtstagsliste zu erstellen, die auf dem birthdaymod basiert.

es soll nichts aufwendiges werden...

nun habe ich das problem, dass die geburtsdaten des birthdaymods nicht einheitlich formatiert in die datenbank übergeben werden...

so wird beispielsweise:
variante a) 1. januar 1970 als 111970 geschrieben und
variante b) 31. dezember 1970 als 31121970.

variante 1 hat also 6 stellen und variante b 8.

ich hab schon versucht das mit

Code: Alles auswählen

<? substr($row["user_birthday"] ,{bedingung}) ?>
auseinander zu wuseln, aber damit komm ich leider nicht wirklich weiter...

hat einer von euch ne idee?
Der Rote

Rechtschreibfehler sind gewollt und somit Features! ;)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Geh das mal gedanklich durch ob das überhaupt klappt:
- Wenn die Zahl 6 Stellen hat ist die Vorgehensweise klar
- Wenn die Zahl 8 Stellen hat ebenfalls
- 7 Stellen:
Frage ist: gehört Zahl 2 jetzt zum Monat oder zum Tag:
Beispiel 3111970:
Das kann sein 31.1.1970
oder aber 3.11.1970
-> Keine Eindeutige Darstellung
Es muss also irgendwo eine Formatierungsregel geben nach der das in die DB eingetragen wird, da man das sonst nicht auseinanderhalten könnte. Schau dir mal an wie das in die Datenbank eingetragen wird oder wie es ausgelesen wird (schließlich werden diese Zahlen ja wohl irgendwo verwendet). Nur daraus sind Rückschlüsse möglich wie man das zu interpretieren hat.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
red-head
Mitglied
Beiträge: 18
Registriert: 08.02.2006 13:25
Wohnort: Langenhorn

Beitrag von red-head »

ich war zu doof... :(

wenn man den wald vor lauter bäumen nicht sieht...

fakt ist, dass die geburtstage NICHT im im format

01.01.1970 --> 111970 oder
31.12.1970 --> 12121970 geschriben werden, sondern im format

01.01.1970 --> 1011970 bzw.
31.12.1970 -->12311970, also MTTJJJJ bzw. MMTTJJJJ

die daten werden also 7- bzw. 8-stellig eingetragen.

hab das ganze mit ner einfachen if-schleife, zeichen zählen und werte von hinten zerlegen gelöst... es funktioniert wunderbar! :)

falls jemand interesse dran hat:

Code: Alles auswählen

<?

$geburtstag = strlen($row['user_birthday']);

if ( $geburtstag == '8' ) 
   { 
     $geburtsmonat = substr($row["user_birthday"] ,-8,2); 
     $geburtsjahr = substr($row["user_birthday"] ,-4);
     $geburtstag = substr($row["user_birthday"] ,-6,2);
   }
 else
     { 
       $geburtsmonat = '0'.substr($row["user_birthday"] ,-7,1); 
       $geburtsjahr = substr($row["user_birthday"] ,-4);
       $geburtstag = substr($row["user_birthday"] ,-6,2);
     }

$user_birthday = $geburtstag.'.'.$geburtsmonat.'.'.$geburtsjahr;

?>
@gn#36: vielen dank für deine hilfe! :)
Der Rote

Rechtschreibfehler sind gewollt und somit Features! ;)
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Wieso so kompliziert mit if-Bedingung?

Code: Alles auswählen

$geburtsmonat = substr($row["user_birthday"], -6, -4); 
$geburtsjahr = substr($row["user_birthday"], -4); 
$geburtstag = substr($row["user_birthday"], 0, -6); 
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
red-head
Mitglied
Beiträge: 18
Registriert: 08.02.2006 13:25
Wohnort: Langenhorn

Beitrag von red-head »

weil mir das als erstes eingefallen ist und es bei ersten versuch gleich funktionierte... ;)

haste ne andere idee?
Der Rote

Rechtschreibfehler sind gewollt und somit Features! ;)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Hat er doch dargestellt wie das funktionieren kann. Im Prinzip zählt Philipps Beispiel die Ziffern von hinten. Das Funktioniert, da die letzten 4 immer zum Jahr gehören, die beiden davor immer zum Tag und die erste(n) immer zum Monat. Da er von Position 0 bis 6 vor Schluss abfragt können da eine oder zwei Ziffern enthalten sein, je nachdem wie viele es insgesamt gibt.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
red-head
Mitglied
Beiträge: 18
Registriert: 08.02.2006 13:25
Wohnort: Langenhorn

Beitrag von red-head »

wie war das mit dem wald? ;)

thx!
Der Rote

Rechtschreibfehler sind gewollt und somit Features! ;)
Antworten

Zurück zu „Coding & Technik“