PDA

Vollstndige Version anzeigen : Anzahl Tage berechnen


chris47803
19-07-2004, 11:08
Hallo!

ber die Suchfunktion habe ich leider nichts gefunden.

Ich mchte, ausgehend von einem festen Datum, die Anzahl der Tage berechnen.

Z.B.
Datum 20.10.2003 - Aktuelles Datum = Tage

Vielen Dank

c4
19-07-2004, 11:12
Du meinst eher das:
Aktuelles Datum - 20.10.2003 = Tage ;)

Du brauchst das:
--> http://php.net/mktime
--> http://php.net/date
Vermutlich auch das:
--> http://php.net/substr

chris47803
19-07-2004, 11:40
Danke fr deine Antwort.

Aber damit komme ich nicht klar.

Habe schon einige Bcher ber PHP, aber ebenfalls nicht das Richtige gefunden.

Also, ich mchte folgendes machen:

Besucheranzahl im Durchschnitt pro Tag

Ausgangsdatum ist 20.10.2003
Besucherzahl 5000
Wieviele Besucher sind es dann, zum aktuellen Datum, im Durchschnitt pro Tag.

Nochmals vielen Dank, Chris

c4
19-07-2004, 11:41
Zeig mal, welche Daten Dir in welcher Form vorliegen.

chris47803
19-07-2004, 12:16
Hier ist meine Seite (http://www.pc-hilfe-christian.de)

Die Navbox ganz unten

c4
19-07-2004, 12:47
Dieses PHPKit speichert das Datum sicherlich als UNIX-Timestamp. Unter welcher Variable Du den Wert finden kannst wei ich nicht, musst Du mal die Doku fragen.

Die Rechnung ist dann einfach:
ceil((mktime(das_ein_Datum) - time())/60/60/24) = Tage

chris47803
19-07-2004, 15:06
<?
$date1="02.10.1970";
$date2="@de_dat";
list($day1,$month1,$year1)=explode(".",$date1);
list($day2,$month2,$year2)=explode(".",$date2);
$tdate1=mktime(0,0,0,$month1,$day1,$year1);
$tdate2=mktime(0,0,0,$month2,$day2,$year2);
$diffdays=round(($tdate1-$tdate2)/86400);
echo "$diffdays ";
?>

Habe mir das zusammen gebastelt.

Die Anzahl der Tage zwischen den beiden
Daten wird richtig ausgegeben.

Allerdings weiss ich jetzt nicht, wie ich
die Gesamtanzahl meiner Besucher durch diese Tage teilen kann.

xabbuh
19-07-2004, 15:11
$durchscnitt = $zahlUser/$diffdays;

chris47803
19-07-2004, 16:05
Soweit funzt es.

Wenn ich die Besucherzahl in das Script eingebe, bekomme ich das richtige Ergebnis.

Da sich aber die Besucherzahl ndert, muss ich das auslesen lassen.

In meiner Datenbank sind diese Daten gespeichert.

Aber wie mache ich das im Script.

<?
$date1="02.10.1970";
$date2="@de_dat";
list($day1,$month1,$year1)=explode(".",$date1);
list($day2,$month2,$year2)=explode(".",$date2);
$tdate1=mktime(0,0,0,$month1,$day1,$year1);
$tdate2=mktime(0,0,0,$month2,$day2,$year2);
$diffdays=round(($tdate1-$tdate2)/86400);
$durchschnitt = round (5000/$diffdays);
$boxlinks[]= "Durchschnittlich <b> $durchschnitt </b> <br>
Besucher pro Tag";
?>

Da wo 5000 steht, brauche ich den aktuellen Wert der momentanen Besucheranzahl.

Oder wird das noch irgenwo anders gespeichert?

Nochmal vielen Dank, Chris

c4
19-07-2004, 16:08
Woher sollen wir das wissen? Dir liegt der Quelltext vor, nicht uns!

In der vorhandenen Statistik wird doch aufgefhrt, wie viele Besucher Du bisher hattest. Diese Variable schnappst Du Dir einfach und packst sie in Deine Rechnung.

Kein Problem nicht, oder?

chris47803
19-07-2004, 17:01
Tut mir Leid, aber ich muss nochmal nerven.

Wie du ja selbst gesehen hast, habe ich meine Seite mit PHPKIT aufgebaut.

Einige Sachen habe ich selbst gendert.

Aber in Sachen PHP bin ich noch Anfnger.

Daher meine Frage nach der Variable.

Wenn ich dich richtig verstanden habe, muss ich eine Variable finden, die dafr zustndig ist, die Besuchanzahl aus meiner Datenbank auszulesen.

Oder bin ich auf dem falschen Weg?

Wenn ich $zahlUser/$diffdays eingebe, habe ich das Ergebnis 0.

c4
19-07-2004, 17:09
Was sagt uns das? $zahlUser ist 0. 0 ist aber nicht die Zahl Deiner bisherigen Besucher, also ist diese Variable falsch.

Wenn ich dich richtig verstanden habe, muss ich eine Variable finden, die dafr zustndig ist, die Besuchanzahl aus meiner Datenbank auszulesen. Ja und nein. Die Daten wurden bereits ausgelesen und die Zahl der bisherigen Besucher in einer Variable gespeichert. Diese musst Du finden. Und genau DIESE Variable musst Du in die Rechnung packen.

chris47803
19-07-2004, 17:28
Vielen Dank.

Ich habe es jetzt.
Hatte den Aufruf vom Template berlesen.


<?
$date1="02.10.1970";
$date2="@de_dat";
list($day1,$month1,$year1)=explode(".",$date1);
list($day2,$month2,$year2)=explode(".",$date2);
$tdate1=mktime(0,0,0,$month1,$day1,$year1);
$tdate2=mktime(0,0,0,$month2,$day2,$year2);
$diffdays=round(($tdate1-$tdate2)/86400);
$durchschnitt = round ($phpkit_status[counter_total]/$diffdays);
$boxlinks[]= "Durchschnittlich <b> $durchschnitt </b> <br>
Besucher pro Tag";
?>


Bleibt nur noch das Problem mit dem Datum.
Eigenlich war der Start meiner Page am
20.10.2003 und nicht wie in dem Script.
Wenn ich das richtige Datum einsetze, bekomme ich aber eine falsche Ausgabe von ca 12600 Tage.

Falls ich deine Nerven nicht schon blank gelegt habe, kannst du mir ja noch einen Tip geben.

c4
19-07-2004, 17:31
Nutzt Du wirklich dieses Skript? <?php
$date1="02.10.1970";
$date2="@de_dat";
list($day1,$month1,$year1)=explode(".",$date1);
list($day2,$month2,$year2)=explode(".",$date2);
$tdate1=mktime(0,0,0,$month1,$day1,$year1);
$tdate2=mktime(0,0,0,$month2,$day2,$year2);
$diffdays=round(($tdate1-$tdate2)/86400);
$durchschnitt = round ($phpkit_status[counter_total]/$diffdays);
$boxlinks[]= "Durchschnittlich <b> $durchschnitt </b> <br>
Besucher pro Tag";
?> Wenn ja, dann werde ich Dir nicht antworten.

chris47803
19-07-2004, 18:29
Warum?

Verstehe ich jetzt nicht.

feuervogel
19-07-2004, 18:43
> Falls ich deine Nerven nicht schon blank gelegt habe, kannst du mir ja noch einen Tip geben.

weil du es wohl soeben getan hast!

chris47803
19-07-2004, 18:48
Ich bitte vielmals um Entschuldigung, aber ich dachte in diesem Forum hilft man Anfngern.

Dann schaue ich halt mal in ein anderes Forum.

Trotzdem danke.

chris47803
19-07-2004, 18:53
Eventuell fehlt auch der Zusammenhang.

Hier ist das ganze Script, ich habe es nur um diese Funktion erweitert.

<?php
$phpkit_status=phpkitstatus();
if (is_array($phpkit_status['online_user'])) {
unset($online_list);
$k=1;
foreach($phpkit_status['online_user'] as $userinfo) {
if ($config['user_ghost']!=1 || ($config['user_ghost']==1 && $userinfo['user_ghost']!=1)) {
if ($k>1) $online_list.=', ';
eval ("$online_list.= "".getTemplate("member_showprofil_textlink","small")."";");
$k++;
}
}
if (isset($online_list)) $online_list.=" ".$lang['and']." ";
}
if ($phpkit_status['online_guests']>0) {if ($phpkit_status[online_guests]==1) {$online_list.="1 ".$lang['guest'];} else {$online_list.=$phpkit_status[online_guests]." ".$lang['guests'];}}
else {$online_list.=$lang['no']." ".$lang['guests'];}
eval ("$boxlinks[0].= "".getTemplate("navigation/status_reguser")."";");
eval ("$boxlinks[1].= "".getTemplate("navigation/status_visitors")."";");
if (intval($USER['id'])>0) {
$online_since=number_format(((time()-$USER['logtime'])/60),0,",",".");
$online_time=formattime($USER['logtime'],'','time');

if (intval($imstatus_info=imstatus())>0) eval ("$status_newim.= "".getTemplate("navigation/status_newim")."";");
eval ("$boxlinks[2].= "".getTemplate("navigation/status_userinfo")."";");
}

$userinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_activate='1' ORDER by user_id DESC LIMIT 1"));
$boxlinks[]="<b>Neuester User</b><br><a href="include.php?path=login/userinfo.php&id=$userinfo[user_id]">$userinfo[user_nick]</a>";





?>



<?php
if ($config['forum_eod']==1) {
$counter_post=$DB->fetch_array($DB->query("SELECT COUNT(*) FROM ".$db_tab['forumpost']));
$counter_themen=$DB->fetch_array($DB->query("SELECT COUNT(*) FROM ".$db_tab['forumthread']));
$boxlinks[5]='<a class="nav'.$navalign.'" href="include.php?path=forum/main.php"><b>Forum</b></a><br>'."Themen: $counter_themen[0] <br>Beitrge: $counter_post[0]";
$counter_views=$DB->fetch_array($DB->query("SELECT COUNT(*) FROM ".$db_tab['content']));
}

$art_count=$DB->fetch_array($DB->query("SELECT COUNT(*) 'count' FROM ".$db_tab['content']." where content_option=1"));
$art_klicks=$DB->fetch_array($DB->query("select sum(content_views) 'count' from ".$db_tab['content']." where content_option=1"));
$link_count=$DB->fetch_array($DB->query("SELECT COUNT(*) 'count' FROM ".$db_tab['content']." where content_option=3"));
$link_klicks=$DB->fetch_array($DB->query("select sum(content_views) 'count' from ".$db_tab['content']." where content_option=3"));
$down_count=$DB->fetch_array($DB->query("select count(*) 'count' from ".$db_tab['content']." where content_option=4"));
$down_klicks=$DB->fetch_array($DB->query("select sum(content_views) 'count' from ".$db_tab['content']." where content_option=4"));

$boxlinks[]='<a class="nav'.$navalign.'" href="include.php?path=content/overview.php&type=3"><b>Links</b></a><br>'."Links: ". $link_count['count']."<br>Besucht: ".$link_klicks['count']."";
$boxlinks[]='<a class="nav'.$navalign.'" href="include.php?path=content/overview.php&type=4"><b>Downloads</b></a><br>'."Downloads: ".$down_count['count']."<br>Runtergeladen: ".$down_klicks['count']."";
$counter_3=$DB->fetch_array($DB->query("SELECT COUNT(*) FROM ".$db_tab['gbook']));
$boxlinks[]='<a class="nav'.$navalign.'" href="include.php?path=guestbook/viewgb.php"><b>Gstebuch</b></a><br>'.$counter_3[0]." Eintrge";

$mv_time=formattime($config['site_mv_time']);
$mv_count=$config['site_mv_count'];
$boxlinks[9]="<font class=small><right><b>Mit $mv_count Besuchern waren<br>am $mv_time <br>
die meisten Besucher<br>
gleichzeitig online</b></font>";


?>


<?
$date1="02.10.1970";
$date2="@de_dat";
list($day1,$month1,$year1)=explode(".",$date1);
list($day2,$month2,$year2)=explode(".",$date2);
$tdate1=mktime(0,0,0,$month1,$day1,$year1);
$tdate2=mktime(0,0,0,$month2,$day2,$year2);
$diffdays=round(($tdate1-$tdate2)/86400);
$durchschnitt = round ($phpkit_status[counter_total]/$diffdays);
$boxlinks[]= "Durchschnittlich <b> $durchschnitt </b> <br>
Besucher pro Tag";
?>

c4
20-07-2004, 09:01
Original geschrieben von feuervogel
> Falls ich deine Nerven nicht schon blank gelegt habe, kannst du mir ja noch einen Tip geben.

weil du es wohl soeben getan hast! Negativ, feuervogel. Ich spreche auerdem gerne fr mich selber.


Warum ich nicht antworten wollte? Weil die Lsung zu offensichtlich ist! Man gibt hier gerne Tipps, aber alles vorkauen wird nicht gerne gesehen, bzw. gemacht!

Wenn ich alles richtig kapiert habe, dann musst Du doch blo ein Datum austauschen! Aus
$date1="02.10.1970";
mach
$date1="20.10.2003";
Das ist doch die Lsung Deines Problems, nicht oder?



PS: Es gibt [ php ]-Tags in dem Board. Nett, wenn sie genutzt werden.

chris47803
20-07-2004, 09:07
Guten Morgen!

Hier mein fertiges Script:

<?
$date1="20.10.2003";
$date2=date("d.m.Y");
list($day1,$month1,$year1)=explode(".",$date1);
list($day2,$month2,$year2)=explode(".",$date2);
$tdate1=mktime(0,0,0,$month1,$day1,$year1);
$tdate2=mktime(0,0,0,$month2,$day2,$year2);
$diffdays=round(($tdate2-$tdate1)/86400);
$durchschnitt = round ($phpkit_status[counter_total]/$diffdays);
$boxlinks[]= "Durchschnittlich <b> $durchschnitt </b> <br>
Besucher pro Tag";
?>

chris47803
10-09-2005, 13:11
Ist zwar schon einige Zeit her, aber ich mchte
euch dennoch mitteilen, das ich das Script
noch etwas ausgebaut habe.

Hier ist der Link. (http://www.personalbit.de/include.php?path=login/durchschnitt.php)

Und nochmals vielen Dank an alle.

Chris

Domi
11-09-2005, 20:43
Du erwartest jetzt nicht wirklich eine Antwort oder?

// Edit: lol da kamen 5 Antworten wrend ich es lass und schrieb .. hat sich erledigt.. :|

chris47803
11-09-2005, 20:49
Du hast doch schon geantwortet. :)

xabbuh
11-09-2005, 21:14
// Edit: lol da kamen 5 Antworten wrend ich es lass und schrieb .. hat sich erledigt.. :|
Wie lange brauchst du zum Lesen? *g*

chris47803
11-09-2005, 21:19
Sorry, aber ich war schon lnger nicht mehr hier, oder was meinst du?

Domi
11-09-2005, 21:20
naja wenn nebenbei mit ner Freundin telefonierst kommst net zum schreiben, weisst ja wie die labern knnen ;)

xabbuh
11-09-2005, 21:22
naja wenn nebenbei mit ner Freundin telefonierst kommst net zum schreiben, weisst ja wie die labern knnen ;)
Ich hoffe fr dich, dass deine Freundin hier nicht mitliest. ;-)

chris47803
11-09-2005, 21:29
hm, verwechselt ihr mich mit jemand?

Wovon redet ihr eigentlich?

xabbuh
11-09-2005, 21:58
hm, verwechselt ihr mich mit jemand?

Wovon redet ihr eigentlich?
Ich wei, ehrlich gesagt, nicht, auf welchen deiner Beitrge Domi berhaupt geantwortet hat.

Domi
11-09-2005, 23:36
Ich hoffe fr dich, dass deine Freundin hier nicht mitliest. ;-)

Also, falls ich die nchsten 2 Wochen nicht mehr online komm .. RUFT NEN ARZT =)

chris47803
12-09-2005, 08:49
Fr dich?