anpera.net
https://anpera.dyndns.org/phpbb3/

Neues Addon: Wie gehts dir? Fehler
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=1639
Seite 1 von 1

Autor:  Peter [ Di 09 Aug, 2005 15:32 ]
Betreff des Beitrags:  Neues Addon: Wie gehts dir? Fehler

Hi,

also ich hatte mal wieder eine Idee:
Ich wollte ein Skript verfassen wo man seine Stimmung aus wählen konnte und diese dann in Form von Smilies in der Kämpferlist angezeigt wird. Nun ich habe alles hin gekriegt. Vom Smilie erstellen bin hin zum Skriepte schreiben! Aber das mit der Kämpferliste verstehe ich nicht.

Ich habe ihrgend etwas Falsch gemacht. Nur weiss ich nicht wie man es richtig macht. Wenn ich nämlich die Krieger lisst auf rufe. Stehen alle Smilies über der Tabelle und die Tabelle fängt danchan. Auch die Smilies stimmen nicht denn wähle ich bei mir eine stimmung aus. Verändert sich nichts.

Hier das Kämpferlistenskript:

$this->bbcode_second_pass_code('', '<?php

// 15082004

require_once "common.php";
if ($session[user][loggedin]) {
checkday();
if ($session[user][alive]) {
addnav("Zurück zum Dorf","rdr.php");
} else {
addnav("Zurück zu den Schatten", "shades.php");
}
addnav("Gerade Online","list.php");
}else{
addnav("Login Seite","index.php");
addnav("Gerade Online","list.php");
}
page_header("Kämpferliste");

$playersperpage=50;

$sql = "SELECT count(acctid) AS c FROM accounts WHERE locked=0";
$result = db_query($sql);
$row = db_fetch_assoc($result);
$totalplayers = $row['c'];

if ($_GET['op']=="search"){
$search="%";
for ($x=0;$x<strlen($_POST['name']);$x++){
$search .= substr($_POST['name'],$x,1)."%";
}
$search=" AND name LIKE '".addslashes($search)."' ";
//addnav("List Warriors","list.php");
}else{
$pageoffset = (int)$_GET['page'];
if ($pageoffset>0) $pageoffset--;
$pageoffset*=$playersperpage;
$from = $pageoffset+1;
$to = min($pageoffset+$playersperpage,$totalplayers);

$limit=" LIMIT $pageoffset,$playersperpage ";
}
addnav("Seiten");
for ($i=0;$i<$totalplayers;$i+=$playersperpage){
addnav("Seite ".($i/$playersperpage+1)." (".($i+1)."-".min($i+$playersperpage,$totalplayers).")","list.php?page=".($i/$playersperpage+1));
}

// Order the list by level, dragonkills, name so that the ordering is total!
// Without this, some users would show up on multiple pages and some users
// wouldn't show up
if ($_GET['page']=="" && $_GET['op']==""){
output("`c`bDiese Krieger sind gerade online`b`c");
$sql = "SELECT acctid,name,login,alive,location,sex,level,laston,loggedin,lastip,uniqueid,race FROM accounts WHERE locked=0 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY level DESC, dragonkills DESC, login ASC";
}else{
output("`c`bKrieger in dieser Welt (Seite ".($pageoffset/$playersperpage+1).": $from-$to von $totalplayers)`b`c");
$sql = "SELECT acctid,name,login,alive,location,sex,level,laston,loggedin,lastip,uniqueid,race FROM accounts WHERE locked=0 $search ORDER BY level DESC, dragonkills DESC, login ASC $limit";
}
if ($session[user][loggedin]){
output("<form action='list.php?op=search' method='POST'>Nach Name suchen: <input name='name'><input type='submit' class='button' value='Suchen'></form>",true);
addnav("","list.php?op=search");
}

$result = db_query($sql) or die(sql_error($sql));
$max = db_num_rows($result);
if ($max>100) {
output("`\$Es treffen zu viele Namen auf diese Suche zu. Nur die ersten 100 werden angezeigt.`0`n");
}

output("<table border=0 cellpadding=2 cellspacing=1 bgcolor='#999999'>",true);
output("<tr class='trhead'><td><b>Level</b></td><td><b>Name</b></td><td><b>Rasse</b></td><td><b><img src=\"images/female.gif\">/<img src=\"images/male.gif\"></b></td><td><b>Ort</b></td><td><b>Status</b></td><td><b>Zuletzt da</b></td><td><b>Verfassung</b></td>",true);
for($i=0;$i<$max;$i++){
$row = db_fetch_assoc($result);
output("<tr class='".($i%2?"trdark":"trlight")."'><td>",true);
output("`^$row[level]`0");
output("</td><td>",true);
if ($session[user][loggedin]) output("<a href=\"mail.php?op=write&to=".rawurlencode($row['login'])."\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=".rawurlencode($row['login'])."").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>",true);
if ($session[user][loggedin]) output("<a href='bio.php?char=".rawurlencode($row['login'])."'>",true);
if ($session[user][loggedin]) addnav("","bio.php?char=".rawurlencode($row['login'])."");
output("`".($row[acctid]==getsetting("hasegg",0)?"^":"&")."$row[name]`0");
if ($session[user][loggedin]) output("</a>",true);
output("</td><td>",true);
output($colraces[$row['race']]);
output("</td><td align=\"center\">",true);
output($row[sex]?"<img src=\"images/female.gif\">":"<img src=\"images/male.gif\">",true);
output("</td><td>",true);
$loggedin=(date("U") - strtotime($row[laston]) < getsetting("LOGINTIMEOUT",900) && $row[loggedin]);
if ($row[location]==0) output($loggedin?"`#Online`0":"`3Die Felder`0");
if ($row[location]==1) output("`3Zimmer in Kneipe`0");
if ($row[location]==2) output("`3Im Haus`0");
output("</td><td>",true);
output($row[alive]?"`1Lebt`0":"`4Tot`0");
output("</td><td>",true);
//$laston=round((strtotime("0 days")-strtotime($row[laston])) / 86400,0)." Tage";
$laston=round((strtotime(date("r"))-strtotime($row[laston])) / 86400,0)." Tage";
if (substr($laston,0,2)=="1 ") $laston="1 Tag";
if (date("Y-m-d",strtotime($row[laston])) == date("Y-m-d")) $laston="Heute";
if (date("Y-m-d",strtotime($row[laston])) == date("Y-m-d",strtotime(date("r")."-1 day"))) $laston="Gestern";
if ($loggedin) $laston="Jetzt";
output($laston);
output("</td></td>",true);

if ($session[$row[pic]] == 0) output("???");

if ($session[$row[pic]] == 1) output("<img src='images/smilies/1.gif' width='50' height='50' alt='' align=''>",true);

if ($session[$row[pic]] == 2) output("<img src='images/smilies/2.gif' width='50' height='50' alt='' align=''>",true);


if ($session[$row[pic]] == 3) output("<img src='images/smilies/3.gif' width='50' height='50' alt='' align=''>",true);


if ($session[$row[pic]] == 4) output("<img src='images/smilies/4.gif' width='50' height='50' alt='' align=''>",true);


if ($session[$row[pic]] == 5) output("<img src='images/smilies/5.gif' width='50' height='50' alt='' align=''>",true);

}
output("</table>",true);
page_footer();
?>

')

Weiss jemand wie man das mit der Kämpferliste macht??? Ich hab alles Ausprobiert was ich aus den schon bestehenden Zeilen lesen konnte. :cry:

Schon mal Danke!

Autor:  Eliwood [ Di 09 Aug, 2005 16:39 ]
Betreff des Beitrags:  Re: Neues Addon: Wie gehts dir? Fehler

das is ja Voller Fehler.... Warum gibts du Bilder ausserhalb von den td-Tags aus, und innerhalb der table-Tags? Zudem...
Schau dir das mal genauer an... Da werden alle Felder aufgelistet, die ausgebenen werden. Dein Feld pic wird aber nicht aufgeführt, also KANNs nicht gehen...
[php]if ($_GET['page']=="" && $_GET['op']==""){
output("`c`bDiese Krieger sind gerade online`b`c");
$sql = "SELECT acctid,name,login,alive,location,sex,level,laston,loggedin,lastip,uniqueid,race FROM accounts WHERE locked=0 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY level DESC, dragonkills DESC, login ASC";
}else{
output("`c`bKrieger in dieser Welt (Seite ".($pageoffset/$playersperpage+1).": $from-$to von $totalplayers)`b`c");
$sql = "SELECT acctid,name,login,alive,location,sex,level,laston,loggedin,lastip,uniqueid,race FROM accounts WHERE locked=0 $search ORDER BY level DESC, dragonkills DESC, login ASC $limit";
}[/php]

Und dann noch was unnötiges:

[php] if ($session[$row[pic]] == 0) output("???");

if ($session[$row[pic]] == 1) output("<img src='images/smilies/1.gif' width='50' height='50' alt='' align=''>",true);

if ($session[$row[pic]] == 2) output("<img src='images/smilies/2.gif' width='50' height='50' alt='' align=''>",true);


if ($session[$row[pic]] == 3) output("<img src='images/smilies/3.gif' width='50' height='50' alt='' align=''>",true);


if ($session[$row[pic]] == 4) output("<img src='images/smilies/4.gif' width='50' height='50' alt='' align=''>",true);


if ($session[$row[pic]] == 5) output("<img src='images/smilies/5.gif' width='50' height='50' alt='' align=''>",true);

}[/php]

Änder das so:

[php]if(file_exists("images/{$row['pic']}.gif")) output("<img src='images/smilies/{$row['pic']}.gif' width='50' height='50' alt='' align=''>",true);
else output("Stimmung unbekannt");[/php]

Autor:  Peter [ Di 09 Aug, 2005 18:01 ]
Betreff des Beitrags: 

Danke!

Es müsste doch aber:

$this->bbcode_second_pass_code('', 'if(file_exists("images/smilies/{$row['pic']}.gif"))')

statt:

$this->bbcode_second_pass_code('', 'if(file_exists("images/{$row['pic']}.gif"))')

heißen oder?

Und irgend wie stimmt noch etwas nicht. Denn wähle ich einen Smili aus und gehe dann wieder zur Kämpfer list passiert nichts. Ich glaube nicht das es an meinem Skript liegt da es ja forhin ging aber ich ihr könnt es ja angucken: http://www.philipp.rigoll.de/logd/sourc ... gd/gut.php

Ich denke es liegt am Sqlcode den ich verwendet habe:

$this->bbcode_second_pass_code('', 'ALTER TABLE `accounts` ADD `wuerfel` tinyint( 5 ) UNSIGNED DEFAULT '0' NOT NULL ;')

Autor:  Eliwood [ Di 09 Aug, 2005 18:07 ]
Betreff des Beitrags: 

Hab net gesehen, dass es daein subdir hat... Ja, sollte es...


Die SQL is falsch! da steht wuerfel, du rufst aber pic ab!

Zudem, hast du den ersten Tipp ausgeführt? Nein, hast du nicht, deshalb kanns nicht gehen! :baeh:


Erst lesen & denken, dann Fehler posten!

Zudem stimmt der HTMl-Code net für die Tabelle.
Habs dir auch schon geschrieben.

Autor:  Peter [ Di 09 Aug, 2005 18:51 ]
Betreff des Beitrags: 

Danke :baeh:

Jetzt klappts :baeh:

Ich werde das dann mal als Addon veröffentlichen. Und dich "natürlich" darin erwähnen.

Autor:  Eliwood [ Di 09 Aug, 2005 19:47 ]
Betreff des Beitrags: 

Na also, geht doch... Und warum natürlich in Doublequotes? Hab nie gesagt dass ich ne erwähnung will, also erwähn mich auch nicht :P

Autor:  Peter [ Di 09 Aug, 2005 19:59 ]
Betreff des Beitrags: 

Ich hab gedacht dann wärst du böse auf mich. Aber wer nicht will der hat schon :D

Ich muss nurnoch warten bis anpera mir die Rechte gibt. *wart*

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/