anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Do 28 Mär, 2024 20:08

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Anzeige geht nicht
BeitragVerfasst: Mi 18 Apr, 2007 19:34 
Offline
Lehrling
Lehrling

Registriert: So 10 Apr, 2005 15:36
Beiträge: 30
Wohnort: Essen
Hallo habe das moderatoren add on von Hadriel und habe es ein wenig erweitert, aber meine user werden nicht angezeigt, bei den anderen wie Priester, Götter usw funktioniert es.
Könntet ihr euch das mal anschauen, wäre sehr dankbar!

[php]$sql="SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid,superuser,prayer FROM accounts WHERE superuser<4 AND locked=0 AND loggedin=1 AND laston AND prayer=0>'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY level AND dragonkills DESC";

$result = db_query($sql) or die(sql_error($sql));

$count = db_num_rows($result);

$ret.=appoencode("`b`2$count Bewohner anwesend:`b`n");

for ($i=0;$i<db_num_rows($result);$i++){

$row = db_fetch_assoc($result);

$ret.=appoencode("`&$row[name]`n");

$onlinecount++;



}

//Moderator Addon by Hadriel @ anaras.ch

if ($onlinecount==0) $ret.=appoencode("`i`&Es sind keine Bewohner Online!`n`i");



$sql="SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid,superuser,prayer FROM accounts WHERE prayer=1 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY superuser DESC";

$result = db_query($sql) or die(sql_error($sql));

$count3 = db_num_rows($result);

$ret.=appoencode("`n`V`b$count3 Priester Online:`n`b");

for ($i=0;$i<db_num_rows($result);$i++){

$row = db_fetch_assoc($result);

$ret.=appoencode("`&$row[name]`n");

$onlinecount3++;

}

//Administrator Addon by Hadriel @ anaras.ch

if ($onlinecount3==0) $ret.=appoencode("`i`&Es sind keine Priester Online!`n`i");



$sql="SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid,superuser,prayer FROM accounts WHERE prayer=2 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY superuser DESC";

$result = db_query($sql) or die(sql_error($sql));

$count2 = db_num_rows($result);

$ret.=appoencode("`n`%`b$count2 Hohepriester Online:`b`n");

for ($i=0;$i<db_num_rows($result);$i++){

$row = db_fetch_assoc($result);

$ret.=appoencode("`&$row[name]`n");

$onlinecount2++;

}

if ($onlinecount2==0) $ret.=appoencode("`i`&Es sind keine Hohepriester Online!`n`i");


$sql="SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid,superuser,prayer FROM accounts WHERE superuser=3 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY superuser DESC";

$result = db_query($sql) or die(sql_error($sql));

$count4 = db_num_rows($result);

$ret.=appoencode("`n`^`b$count4 Halbgötter Online:`b`n");

for ($i=0;$i<db_num_rows($result);$i++){

$row = db_fetch_assoc($result);

$ret.=appoencode("`&$row[name]`n");

$onlinecount4++;

}

if ($onlinecount4==0) $ret.=appoencode("`i`&Es sind keine Halbgötter Online!`n`i");


$sql="SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid,superuser,prayer FROM accounts WHERE superuser=4 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY superuser DESC";

$result = db_query($sql) or die(sql_error($sql));

$count5 = db_num_rows($result);

$ret.=appoencode("`n`6`b$count5 Götter Online:`b`n");

for ($i=0;$i<db_num_rows($result);$i++){

$row = db_fetch_assoc($result);

$ret.=appoencode("`&$row[name]`n");

$onlinecount5++;

}

if ($onlinecount5==0) $ret.=appoencode("`i`&Es sind keine Götter Online!`n`i");

$ret.=grafbar(getsetting("maxonline",10),(getsetting("maxonline",10)-$onlinecount-$onlinecount2-$onlinecount3-$onlinecount4-$onlinecount5),"100%");

//db_free_result($result);

return $ret;

}

}[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 19 Apr, 2007 08:51 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 24 Okt, 2005 23:20
Beiträge: 180
Geschlecht: Männlich
LoGD: http://logd.wyrmslayer.de
Der Fehler liegt gleich in der ersten Zeile.

Guckst du:

[php]AND laston AND prayer=0>'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."'[/php]

muss heißen

[php]AND prayer=0 AND laston>'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."'[/php]

_________________
YoM hat geschrieben:
LÖLz... ne, dafür ham wir unsere Mods, als Admins dürfen wir ehrlich sein. *gg*
---Original Message---
bist du eigentlich zum freundlich sein verpflichtet?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 19 Apr, 2007 17:39 
Offline
Lehrling
Lehrling

Registriert: So 10 Apr, 2005 15:36
Beiträge: 30
Wohnort: Essen
vielen Dank, aber war leider nicht der fehler, ist auch nicht so wichtig, das ich es haben muss.

LG
Sylver


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Anzeige geht nicht
BeitragVerfasst: Do 19 Apr, 2007 18:45 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 05 Mär, 2007 22:17
Beiträge: 270
Vielleicht einfach in der ersten Zeile superuser<4 durch superuser=0 ersetzten...
wäre die einzige idee, die mir jetzt spontan einfällt...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do 19 Apr, 2007 22:20 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 11 Feb, 2006 19:39
Beiträge: 596
Wohnort: Stuttgart - Waiblingen
Geschlecht: Männlich
LoGD: http://logd.legend-of-vinestra.de/source
Skype: da-chosen-one
Nein, superuser<4 schließt superuser=0 mit ein. Aber Bills Kommentar ist schon einmal richtig.

Glücklicherweise hast du auch einen Link zu deiner Source da, damit man sich das im ganzen Script(teil) angucken kann.
No Source no help

_________________
$this->bbcode_second_pass_code('', '(define-record-procedures choco-cookie
make-choco-cookie choco-cookie?
(choco-cookie-choco
choco-cookie-cookie))

(define Prinzenrolle
(make-choco-cookie choco-cookie-choco-standard (* 2 choco-cookie-cookie-standard)))')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 20 Apr, 2007 08:45 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 24 Okt, 2005 23:20
Beiträge: 180
Geschlecht: Männlich
LoGD: http://logd.wyrmslayer.de
hm... mir is da grad noch was aufgefallen, doch durch Mangel an PHP-Kenntnis weiß ich nicht, ob das was mit deinem Prob zu tun hat.

Bei den Bürgern: '".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."'

Bei den anderen: '".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."'

kann mir ma jmd aus meiner Unwissenheit helfen, was diese Zeilen eigtl aussagen?

_________________
YoM hat geschrieben:
LÖLz... ne, dafür ham wir unsere Mods, als Admins dürfen wir ehrlich sein. *gg*
---Original Message---
bist du eigentlich zum freundlich sein verpflichtet?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 20 Apr, 2007 08:57 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Damit wird kontrolliert, ob der automatische LogOut schon überschritten ist oder nicht.

Allerdings ist eher der obere Teil richtig, denn wie man an dem - sieht, sollte das ganze eine Subtraktion darstellen.

Mit strtotime wird die aktuelle Mikro-Zeit ermittelt, dann mit date in die Form Y-m-d H:i: gepresst und schliesslich noch kontrolliert, ob das ganze immer noch "grösser" als laston ist.

Mit freundlichen Grüssen,
Harthas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 20 Apr, 2007 10:18 
Offline
Freak
Freak
Benutzeravatar

Registriert: Mi 06 Jul, 2005 19:10
Beiträge: 543
Wohnort: Bremen
Geschlecht: Männlich
LoGD: http://my-logd.com/motwd
Neee... nicht Mikro-Zeit.... microtime ist noch etwas anderes...

Es wandelt zum UNIX-Zeitstempel um. Es handelt sich dabei um die Sekunden seit dem beginn der Unix-Epoche... 1. Januar 1970 um 0 Uhr....

_________________
Das schwarze Schaf der LotGD-Community, 2. platzierter, beim Giga.de Homepage-Award 2007 und 1. platzierter beim German Web Award 2008.
PC-ACTION meint: "Sehr gut" für MotWD!
Mind of the White Dragon => http://my-logd.com/motwd


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 20 Apr, 2007 11:03 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Okay, sorry, hatte es wohl verwechselt. ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 20 Apr, 2007 11:55 
Offline
Profi
Profi
Benutzeravatar

Registriert: Mo 24 Okt, 2005 23:20
Beiträge: 180
Geschlecht: Männlich
LoGD: http://logd.wyrmslayer.de
ok, nun bin ich wieder etwas schlauer. Danke :)

ach noch was... (was bin ich heute wieder wissbegierig *gg* )

am Schluss der ersten Zeile:

ORDER BY level AND dragonkills DESC

funzt das tatsächlich?

wenn ja, wie sortiert er? erst nach Level, dann nach DK´s?

seh ich das richtig, dass für die Sortierung "dragonkills" nicht in die SQL-Abfrage rein muss, solang das Feld in der entsprechenden Tabelle existiert?

_________________
YoM hat geschrieben:
LÖLz... ne, dafür ham wir unsere Mods, als Admins dürfen wir ehrlich sein. *gg*
---Original Message---
bist du eigentlich zum freundlich sein verpflichtet?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr 20 Apr, 2007 12:38 
Offline
Freak
Freak
Benutzeravatar

Registriert: Mi 06 Jul, 2005 19:10
Beiträge: 543
Wohnort: Bremen
Geschlecht: Männlich
LoGD: http://my-logd.com/motwd
Klar Funktioniert das...

Das Feld level wird als erstes zur Sortierung verwendet. Standardmässig, wenn nicht angegeben wird. Also höchste zuerst. Dann wird das 2. Argument angewendet dragonkills.

Man kann auch noch mehr Sortierkriterien angeben. Aber für jede Sortierung legt MySQL eine temporäre Tabelle an, welche je nach konfiguration entwerder im Ram, oder auf die Festplatte geaschrieben werden.

Performance technisch, könnte man korrekten Indizies eine Sortierung vermeiden, aber dabei kommt es immer auf die Art der Abfrage an. Gerade in LotGD sind diese aber zum Teil Grundverschieden, was widerrum eine gute Indizierung sehr schwer macht.

Aber das ganz ist wieder ein anderes Thema....

_________________
Das schwarze Schaf der LotGD-Community, 2. platzierter, beim Giga.de Homepage-Award 2007 und 1. platzierter beim German Web Award 2008.
PC-ACTION meint: "Sehr gut" für MotWD!
Mind of the White Dragon => http://my-logd.com/motwd


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum