Automatische Zuteilung des Sternzeichens?

Begonnen von NeMeSiSX2LC, 09 Juni 2004, 18:26:21

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

NeMeSiSX2LC

Hab hier einen code schnipsel aber komme im Moment einfach nicht drauf wie ich denn ins MX einbauen soll. Vielleicht weis einer von euch mehr!

    function sternzeichen($day, $month) {
      $zodiac = array('Steinbock','Steinbock','Wassermann','Fische','Widder',
                      'Stier','Zwilling','Krebs','Löwe','Jungfrau','Waage',
                      'Skorpion','Schütze');

      $dates = array( 0 => array(mktime(0,0,0,12,22), mktime(0,0,0,12,31)),
                      1 => array(mktime(0,0,0,01,01), mktime(0,0,0,01,19)),
                      2 => array(mktime(0,0,0,01,20), mktime(0,0,0,02,18)),
                      3 => array(mktime(0,0,0,02,19), mktime(0,0,0,03,20)),
                      4 => array(mktime(0,0,0,03,21), mktime(0,0,0,04,19)),
                      5 => array(mktime(0,0,0,04,20), mktime(0,0,0,05,20)),
                      6 => array(mktime(0,0,0,05,21), mktime(0,0,0,06,21)),
                      7 => array(mktime(0,0,0,06,22), mktime(0,0,0,07,22)),
                      8 => array(mktime(0,0,0,07,23), mktime(0,0,0,08,22)),
                      9 => array(mktime(0,0,0,08,23), mktime(0,0,0,09,22)),
                     10 => array(mktime(0,0,0,09,23), mktime(0,0,0,10,23)),
                     11 => array(mktime(0,0,0,10,24), mktime(0,0,0,11,21)),
                     12 => array(mktime(0,0,0,11,22), mktime(0,0,0,12,21)));

      foreach($dates as $k=>$v) {
         if(mktime(0,0,0,$month,$day) >= $v[0] && mktime(0,0,0,$month,$day) <= $v[1]) {
            return $zodiac[$k];
         }
      }
      return FALSE;
   }

   echo sternzeichen(19, 4); // Tag, Monat
 
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Hallo !
Nur mal schnell geschaut.
Die funktion in das Modul/Script einbauen, in dem Du die Funktion nutzen willst. Aufrufen dann mit
$ergebnis=sternzeichen($GeburtsTag,$GeburtsMonat);
Dann sollte in der Variablen Ergebnis das Stenzeichen als Name drinstehen.
Das echo dadrunter wird nicht gebraucht.
MfG
jubilee

[Editiert am 12/6/2004 von jubilee]

jubilee

Hmm ...
das hier :
 
Zitat$ergebnis=sql_fetch_row(sql_query("SELECT user_bday FROM ".$user_prefix."_users where uname='".$uname."'"));
Datum auswerten:
$ergebnis_tag=(substr($ergebnis[0],8,2));
$ergebnis_monat=(substr($ergebnis[0],5,2));
Funktion aufrufen:
$Sternzeichen=sternzeichen($ergebnis_tag,$ergebnis_monat);
sollte jetzt gehen.
Die Sternzeichen-Funktion an sich müsste auch fehlerfrei funktionieren.
MfG
jubilee

NeMeSiSX2LC

Hm da tut sich garnix wenn ich das so einbaue :cry
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

NeMeSiSX2LC

na ich stell mich mal richtig blöde hin (das noch die neueinsteiger alles verstehen). Aber wie bitte bekommt diese Funktion mit was ich als Geburtsdatum eingetragen hab??
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Also, Geburtstag aus der Datenbank auslesen :
$ergebnis=sql_fetch_row(sql_query("SELECT user_bday FROM ".$user_prefix."_users where uname='".$uname."'"));
Datum auswerten:
$ergebnis_tag=(substr($ergebnis[0],8,2));
$ergebnis_monat=(substr($ergebnis[0],5,2));
Funktion aufrufen:
$Sternzeichen=sternzeichen($ergebnis_tag,$ergebnis_monat);

MfG
jubilee


[Editiert am 12/6/2004 von jubilee]

[Editiert am 12/6/2004 von jubilee]

Andi

ZitatHm da tut sich garnix wenn ich das so einbaue
Hi :)

schon mal dran gedacht, das error_reporting und den sql-debugmodus einzuschalten? Dann wäre beim code von Jubilee bestimmt ne Fehlermeldung gekommen...
Es fehlt der Befehl "sql_query" und $uname muss in der sql-Anweisung in Anführungsstrichen stehen....

Probier es mal so:
 $result = sql_query("SELECT MONTH(user_bday), DAYOFMONTH(user_bday) FROM ".$user_prefix."_users where uname='".$uname."'");
list($bmonth, $bday) = sql_fetch_row($result);
if (!empty($bmonth) && !empty($bday)) {
$Sternzeichen = sternzeichen($bday,$bmonth);
}
else {
$Sternzeichen = '';
}
 

Zum coden IMMER error_reporting E_ALL !!
schön´s Grüssle, Andi

NeMeSiSX2LC

Oh man!!! Wie recht du doch hast! :wall:  Hab ich irgendwie total vergessen einzuschalten :cry
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Liu-Kang

Das ist eine klasse Idee!
Wo kann man dann das in die Datei "mx_userfunctions_options.php" einbauen? Am besten unter das Feld Alter.
Vielen Dank und beste Grüße

jubilee

Ja,ja.
Man sollte sich doch nochmal durchlesen, was man so
gepostet hat.
Hab die Fehler im meinem post mal korrigiert.
MfG
jubilee

NeMeSiSX2LC

Hm die funktion an sich hat wohl auch ne macke:-( Weil hab mitte August Geburtstag (Löwe) Aber das teil gibt mir Waage aus :cry

Axo noch was hab Andis code benutzt weil bei dir Jubilee ein fehler kommt.

[Editiert am 12/6/2004 von NeMeSiSX2LC]
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

_Gerry_

Also ich hab das so gelöst:

 

$ergebnis=sql_fetch_array(sql_query("SELECT user_bday FROM ".$user_prefix."_users where uname='".$uname."'")); // Geburtsdatum wird ausgelesen

$bday = explode('-',$ergebnis['user_bday']);
$month = $bday[1];
$date = $bday[2];
if ($month == 1 && $date >=20 || $month == 2 && $date <=18) {$sternzeichen = "Wassermann";}

if ($month == 2 && $date >=19 || $month == 3 && $date <=20) {$sternzeichen = "Fische";}

if ($month == 3 && $date >=21 || $month == 4 && $date <=19) {$sternzeichen = "Widder";}

if ($month == 4 && $date >=20 || $month == 5 && $date <=20) {$sternzeichen = "Stier";}

if ($month == 5 && $date >=21 || $month == 6 && $date <=21) {$sternzeichen = "Zwillinge";}

if ($month == 6 && $date >=22 || $month == 7 && $date <=22) {$sternzeichen = "Krebs";}

if ($month == 7 && $date >=23 || $month == 8 && $date <=22) {$sternzeichen = "Löwe";}

if ($month == 8 && $date >=23 || $month == 9 && $date <=22) {$sternzeichen = "Jungfrau";}

if ($month == 9 && $date >=23 || $month == 10 && $date <=22) {$sternzeichen = "Waage";}

if ($month == 10 && $date >=23 || $month == 11 && $date <=21) {$sternzeichen = "Skorpion";}

if ($month == 11 && $date >=22 || $month == 12 && $date <=21) {$sternzeichen = "Schütze";}

if ($month == 12 && $date >=22 || $month == 1 && $date <=19) {$sternzeichen = "Steinbock";}



echo"".$sternzeichen.""; // Ausgabe des Sternzeichens
 

Und es funzt!

[Editiert am 12/6/2004 von _Gerry_]
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

NeMeSiSX2LC

CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

_Gerry_

Zitatgleich mal testen

Ja mach mal!  :D
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

NeMeSiSX2LC

Na das wundert mich jetzt doch eh bissel bei mir geht es nur wenn ich aus sql_fetch_row, sql_fetch_array mache.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

_Gerry_

Upsi. da hab ich wohl beim Kopieren die falsche Zeile erwischt!  ;)
sql_fetch_array passt schon!
 :D

Ändere es auch noch im gesamten Code, fals ihn noch jemand benötigt!
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

jubilee

Hallo !
 
ZitatAxo noch was hab Andis code benutzt weil bei dir Jubilee ein fehler kommt.
 
Immer noch ??
Da sollte doch jetzt nix mehr sein. hab ich nochwas übersehen ??
MfG
jubilee

Sascha1981

Hey!!!

Der code funktiioniert ja echt super!!!:)

NeMeSiSX2LC

CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Hallo !
 
Zitatsieht doch genauso aus wie die oben
Naja, klar.
Weil ich doch meine Posts mit aktualisiert/editiert habe.
Steht doch in einem meiner vorigen Threads
 
ZitatHab die Fehler im meinem post mal korrigiert
MfG
jubilee