• 07.05.2024, 16:26
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Centerfunktion in PHP

Dienstag, 25. Januar 2005, 15:50

Malhlzeit Leute,

ich hab mir mit PHPKit ne Seite zusammen gezimmert. Dort hab ich ein fertiges Countdownscript reingebastelt, das soweit auch funktioniert. Leider wird der Text vom Countdown linksbündig angezeigt. Wie kann ich das Zentriert ausgeben? Hab von HTML kein Ahnung und von PHP noch viel weniger :-/

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?
    $today = date("w");
    if($today == 0) $today = 7;
    $wa = 1;
    $wa -= $today;
    $wa_day = dateadd("w", $wa, time());
    $we = dateadd("w", 4, $wa_day); //Freitag
    $tag = "01";
    $monat = "03";
    $jahr = "2005";

$stunde = 0; //Stunde
$minute = 00; //Minute
$sekunde = 00; //Sekunden
$target = mktime($stunde,$minute,$Sekunden,$monat,$tag,$jahr);
$diff = $target - time();
$days = ($diff - ($diff % 86400)) / 86400;
$diff = $diff - ($days * 86400);
$hours = ($diff - ($diff % 3600)) / 3600;
$diff = $diff - ($hours * 3600);
$minutes = ($diff - ($diff % 60)) / 60;
$diff = $diff - ($minutes * 60);
$seconds = ($diff - ($diff % 1)) / 1;
$countdown = "Es sind noch <b>$days</b> Tage, <b>$hours</b> Stunden, <b>$minutes</b> Minuten bis zum grossem Anlassen";
eval ("\$boxlinks[]= \"".$countdown."\";");
function DateAdd ($interval,  $number, $date) {

    $date_time_array  = getdate($date);

$hours =  $date_time_array["hours"];
$minutes =  $date_time_array["minutes"];
$seconds =  $date_time_array["seconds"];
$month =  $date_time_array["mon"];
$day =  $date_time_array["mday"];
$year =  $date_time_array["year"];

    switch ($interval) {
        case "w":
             $day+=$number;
            break;
    }
$timestamp =  mktime($hours ,$minutes, $seconds,$month ,$day, $year);
    return $timestamp;
}
?>


Hab schon einige Seiten durchgeforstet, aber werd einfach nicht schlau draus. Geht das überhaupt in dem Script selbst, oder muß das irgendwo im PHPKit geändert werden? Kann mir da einer von euch auf die Sprünge helfen?

Thx 4 Help

-RedHead

Re: Centerfunktion in PHP

Dienstag, 25. Januar 2005, 16:06

Änder die Zeile bei der Ausgabe ein wenig:

Quellcode

1
$countdown = "<div align=\"center\">Es sind noch <b>$days</b> Tage, <b>$hours</b> Stunden, <b>$minutes</b> Minuten bis zum grossem Anlassen</div>";

Re: Centerfunktion in PHP

Dienstag, 25. Januar 2005, 16:25

Kommt nach dem Ändern leider eine Fehlermeldung:

Parse error: parse error, unexpected T_STRING in /www/htdocs/v093793/navigation/navbox.countdown.php(25) : eval()'d code on line 1

Re: Centerfunktion in PHP

Dienstag, 25. Januar 2005, 16:28

Es gibt zusätzliche Quotes, die zur neuen Query kopiert werden.....

darum solltest du dich kümmern dann geht es ...

;)

WoW Status Magier / Mensch lvl 60 Berufe Schneidern 300 und Verzaubern 291 Erste Hilfe 300 server : Alextrasza(PVE) Charname : Portanius

Re: Centerfunktion in PHP

Dienstag, 25. Januar 2005, 17:17

Zitat von »Slazer«

Es gibt zusätzliche Quotes, die zur neuen Query kopiert werden.....

darum solltest du dich kümmern dann geht es ...

;)



Da ich leider absolut keinen Plan davon hab, sagt mir das nicht wirklich etwas :'(

Re: Centerfunktion in PHP

Dienstag, 25. Januar 2005, 17:30

$countdown = "Es sind noch <b>$days</b> Tage, <b>$hours</b> Stunden, <b>$minutes</b> Minuten bis zum grossem Anlassen";
eval ("\$boxlinks[]= \"".$countdown."\";");


mit:
$countdown = "Es sind noch <b>" . $days . "</b> Tage, <b>" . $hours . "</b> Stunden, <b>" . $minutes . "</b> Minuten bis zum grossem Anlassen";

ersetzen...solte auf jeden gehen.
das aktuelle irgendwie umschreiben kann man auch , aber ka wie...

Re: Centerfunktion in PHP

Dienstag, 25. Januar 2005, 19:06

- sowas kommt dabei raus, wenn man keine ahnung von single quotes hat
- zeitgemäß zum zentrieren ist <div style="text-align: center">...</div>. zudem gilt der erste punkt.
- das eval ist der reinste blödsinn, dass kann man auch ganz einfach ohne ausführen. zudem würde auch hier der erste punkt helfen.
- sprintf() ist auch toll.

versuch doch einfach mal:

Quellcode

1
$boxlinks[] = sprintf('<div style="text-align: center">Es sind noch <b>%d</b> Tage, <b>%d</b> Stunden, <b>%d</b> Minuten bis zum grossem Anlassen</div>', $days, $hours, $minutes);

Re: Centerfunktion in PHP

Dienstag, 25. Januar 2005, 19:23

an dieser stelle ein verweis:
http://forum.aqua-computer.de/index.php?…&threadID=73472

Zitat von »Hayes«

[...]
Ich hab mir vor einiger Zeit mal ein kleines Countdown PHP Script gegoogelt, das "noch soundsoviel Tage bis..." anzeigt.
[...]

Quellcode

1
2
3
<?php
   print ("Noch " . (int) ((mktime (0,0,0,12,10,2004) - time(void))/86400) . " Tage");
?>

ich denke, das könnte so etwa für dich funktionieren:

Quellcode

1
2
3
4
5
6
7
8
9
10
// target
$day = 23;
$month = 3;
$year = 2005;

// time to go
$seconds = mktime(0, 0, 0, $month, $day, $year) - time();
$days = (int) ($timeleft / ($seconds * 60 * 60 * 24));
$hours = (int) ($timeleft / ($seconds * 60 * 60));
$minutes = (int) ($timeleft / ($seconds * 60));

hab dabei versucht, das verständlich zu schreiben und nicht zu optimieren. auf die performance kommt's wohl nich so an :)
den anderen sche*³ kannste dann man dezent wegwerfen.