anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Di 19 Mär, 2024 09:57

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Bios/Avas in eine eigene Tabelle.
BeitragVerfasst: Mi 15 Aug, 2007 06:23 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
( Ich rate die Verwendung nur erfahreneren Admins, da es natürlich noch einige Unstimmigkeiten gibt! )

Beschreibung:

Hiermit könnt ihr die Bios und die Avatare in eine eigene Tabelle verfrachten. Damit entlastet ihr die Accounts Tabelle.
Da ich bis jetzt noch keine weiteren Ansätze gemacht habe, sieht alles nicht sehr schön aus
und es müssen noch einige Sachen angepasst werden. Entweder macht ihr das selber oder wartet, bis ich damit fertig bin.

Nun zum Einbau:

[php]
CREATE TABLE `bio` (
`acctid` int(11) NOT NULL default '0',
`login` varchar(50) NOT NULL default '',
`bio` text NOT NULL,
`avatar` text NOT NULL,
PRIMARY KEY (`acctid`)
) TYPE=MyISAM;

Nun folgenden Befehl ausführen:

INSERT INTO `bio` (`acctid`,`login`,`bio`, `avatar`)
SELECT `acctid`,`login`, `bio`,`avatar` FROM `accounts`


Öffne bio.php

Suche:

$result = db_query("SELECT login,... FROM accounts WHERE login='$_GET[char]'");

Entferne:

,bio & ,avatar

Füge unter:

$row = db_fetch_assoc($result);

Das hier ein:

$result1 = db_query("SELECT * FROM bio WHERE login='$_GET[char]'");
$row1 = db_fetch_assoc($result1);


Suche alle:

$row['avatar']

und ersetze sie mit:

$row1['avatar']


Suche alle:

$row['bio']

und ersetze sie mit:

$row1['bio']


Save & Close.

Open prefs.php


Suche:
[Achtung: KANN ABWEICHEN]

"bio"=>"Kurzbeschreibung des Charakters `n(Maximal {$maxbio} Zeichen),textarea,80,40,$maxbio",
"avatar"=>"Link auf einen Avatar`n(Bilddatei - maximal 200x200 Pixel)`n"

und entferne es.

Suche weiter:


( und das, das darüber steht! )
addnav("Bio","$link");

Ersetze mit:

addnav("`^Bio bearbeiten`0","biograph.php");

Save & Close.

Öffne user.php

Suche:
[Achtung: KANN ABWEICHEN]

"bio"=>"Kurzbeschreibung des Charakters `n(Maximal {$maxbio} Zeichen),textarea,80,40,$maxbio",

und entferne es.

Suche:

}elseif ($_GET[op]=="del"){

$sql = "SELECT name,lastip,uniqueid from accounts WHERE acctid='$_GET[userid]'";

Füge darunter ein:

$sql4 = "DELETE FROM bio WHERE acctid='$_GET[userid]'";
$result4 = db_query($sql4) or die(db_error(LINK));



Suche:

}elseif ($_GET[op]=="save"){

füge danach ein:

$bio = mysql_real_escape_string(stripslashes($_POST['bio']));

$avatar = mysql_real_escape_string(stripslashes($_POST['avatar']));

db_query("UPDATE bio SET avatar='$avatar', bio='$bio' WHERE acctid='".$_GET['userid']."'");

Suche weiter:

showform($userinfo,$row);

darunter:


$prefs['bio'] = $row1['bio'];

$prefs['avatar'] = $row1['avatar'];

showform($form,$prefs);

Suche weiter:

"lastwebvote"=>"Zuletzt bei Top Wep Games gewählt,viewonly",

"donationconfig"=>"Spendenkäufe,viewonly"

);

darunter:

$form=array(



"bio"=>"Kurzbeschreibung des Charakters `n(Maximal {$maxbio} Zeichen),textarea,80,40,$maxbio",

"avatar"=>"Link auf einen Avatar`n(Bilddatei - maximal 200x200 Pixel)`n"

);
[/php]

Die angehängte Datei einfach in den Root laden.


Dateianhänge:
biograph.zip [1.05 KIB]
478-mal heruntergeladen


Zuletzt geändert von Taikun14 am Mi 29 Aug, 2007 12:42, insgesamt 8-mal geändert.
Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 15 Aug, 2007 06:33 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Wenn du das schon veränderst, dann stell doch gleich die SQL-Where-Klausel auf die Account-ID um. Suchen nach integeren Zahlen ist erstens schneller als eine Suche mit einem String als Kriterium, und zweitens sparst du dir so ein Feld in der Bio-Tabelle.

Ach ja, wofür hast du eigentlich den Namen in der Tabelle mit drin?

[php] output("Erfolgreich geändert");
redirect("biograph.php"); [/php]
Hier ist der output überflüssig, da er eh nicht angezeigt wird ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 15 Aug, 2007 06:40 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
Dankeschön für den Hinweis, hab' das grad' eben in paar Minuten gemacht und da trifft man dann durchaus mal zu schnelle Entscheidungen.. wollt eig. mit der bioID arbeiten, aber kA :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 15 Aug, 2007 06:47 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
Mit der Bio-ID arbeiten würde natürlich auch gehen, nur steht diese nicht in direktem Zusammenhang mit dem Accounts-Eintrag des betreffenden Spielers. Deshalb wäre die acctid eigentlich praktischer, da da der Zusammenhang ja bereits klar ersichtlich ist ^^

Aber es ist dein Projekt, also arbeite so, wie es für dich richtig ist.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 15 Aug, 2007 07:03 
Offline
Großmeister
Großmeister

Registriert: Fr 01 Jul, 2005 18:41
Beiträge: 484
Wohnort: Saarbrücken
Geschlecht: Männlich
Ach was, ich bin immer für Kritik zu haben und versuche es besser zu machen, wenn es geht, ganz klar, nur ich habe eben nicht dran gedacht. :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 15 Aug, 2007 17:09 
Offline
Freak
Freak

Registriert: Mo 06 Sep, 2004 15:17
Beiträge: 3236
Geschlecht: Männlich
Das erneute speichern des "Benutzernamens" ist ebenfalls "Sinnlos". Warum speicherst Du diesen zweimal Separat? - Macht wenig Sinn. . . da kannst Du genauso gut, in die Accounts-Tabelle eben verknüpfen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi 15 Aug, 2007 17:11 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Ich habs bei mir mit dieser Tabellenstruktur gemacht:
$this->bbcode_second_pass_code('', 'CREATE TABLE `characterbiographies` (
`acctid` int(11) unsigned NOT NULL,
`content` mediumtext,
`status` tinyint(1) NOT NULL default '0',
`lastcheck` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`acctid`)
) COMMENT='Tabelle für die Biographien, als Auslagerung aus der Account';')

Wobei inzwischen nicht einmal mehr die Originale Bio in der Datenbank steht, die ist auf der Platte hart gespeichert (... Das interpretieren meiner Codes dauert zu lange und benötigt zuviel Speicherplatz, um einfach alles on-the-fly zu machen).

Avatare lasse ich hochladen, so entfällt das Avatarfeld sogar ganz.

Um an die Bio zu kommen, brauchst du die Acctid. Falls du was anderes hast, muss ein Join her:
$this->bbcode_second_pass_code('', 'SELECT cb.content FROM characterbiographies cb LEFT OUTER JOIN accounts a USING(acctid) WHERE a.login = ?')


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Sep, 2007 16:31 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Schon eine tolle Idee die Bio und Avartar aus der accounts zu werfen. Bei mir sind dann direkt auch noch der Tiername, Tieravatar und die Tierbio mit umgezogen. Allerdings ist mir aufgefallen das an Taikuns Umbauanleitung noch eine Kleinigkeit fehlt:

Suche in der setnewday.php nach:
[php] $sql = "DELETE FROM accounts WHERE acctid IN ($delaccts)";
db_query($sql) or die(db_error(LINK));[/php]

Und füge darunter ein:
[php] $sql = "DELETE FROM bio WHERE acctid IN ($delaccts)";
db_query($sql) or die(db_error(LINK));[/php]


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 12 Apr, 2008 07:25 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
Also ich hab ein Problem mit dem ganzen und zwar funktioniert mein Usereditor seitdem ichs eingebaut hab nichtmehr funktioniert und ich in einer Badnav lande, wenn ich das Formular speicher. Nebenbei öffnet er unten im iframe das iframe so 5 mal in sich selbst, habs aber nach anleitung eingebaut ... ich geb die notwendigen dateien mal frei, wäre toll wenn wer helfen könnt

link zur source
http://yandal.silicon.hl-users.com/sour ... showsource


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 12 Apr, 2008 10:56 
Offline
Meister
Meister
Benutzeravatar

Registriert: Mo 05 Feb, 2007 12:33
Beiträge: 375
Wohnort: Hattingen
Geschlecht: Männlich
LoGD: http://www.alvion-logd.de/logd/
Da auch der Link zum Avatar zusammen mit der Bio in die neue Tabelle umgezogen ist muss in dem Array $userinfo auch die Zeile $this->bbcode_second_pass_code('', '"avatar"=>"Avatar:",') gelöscht werden oder mit // am Anfang der Zeile als Kommentar gekennzeichnet werden.
Schau mal ob deine user.php dann wieder funktioniert.

LG
Linus


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 12 Apr, 2008 17:55 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
Ah super, das hab ich nicht bedacht, danke, funzt wieder *g*

Naja manchmal is die Lösung so einfach nur man sieht den Wald vor lauter Bäumen nicht :D


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 07 Mai, 2008 09:31 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
Neues Problem, mir ist eben aufgefallen, dass Bio und Ava bei nem DK gelöscht werden -.-

muss da vllt doch noch was in der dragon.php geändert werden?

Ich hab in der gleichen tabelle noch ein paar zusatzinfos über den char, die die user selbst eintragen können, die werden aber nicht gelöscht.

Wahrscheinlich nur was kleines, aber ich komm nicht drauf woran es liegen könnte.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 10 Mai, 2008 01:10 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 17 Apr, 2006 08:39
Beiträge: 290
Wohnort: Lübeck
Geschlecht: Männlich
LoGD: http://antara-rosadrache.de
Skype: eichi-san
Zitat:
muss da vllt doch noch was in der dragon.php geändert werden?


Würde ich jetzt mal von ausgehen, einfach die Spalten in der Valuesliste ergänzen damit sie bei DK übergangen werden (zum zurücksetzen)

_________________
Ist es nicht die Weisheit, die ein Mensch zu erlangen sucht?!
Der Knochen kommt nicht von alleine zum Hund, schön wärs ._.

Schokopudding, der sich von alleine kochen kann.......


BLUBBBEL!


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Sa 10 Mai, 2008 09:01 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
Was mich wundert ist, wird nach nem dk nicht nur die accounts soweit geleert? (ausser die die eben übersprungen werden sollen).

Und alle anderen tabellen bleiben davon unberührt ... ausserdem stehen sie ja drin, weil sie ja standardmässig in den beiden arrays stehen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 11 Mai, 2008 00:26 
Offline
Held
Held
Benutzeravatar

Registriert: Mo 17 Apr, 2006 08:39
Beiträge: 290
Wohnort: Lübeck
Geschlecht: Männlich
LoGD: http://antara-rosadrache.de
Skype: eichi-san
Constance hat geschrieben:
Was mich wundert ist, wird nach nem dk nicht nur die accounts soweit geleert? (ausser die die eben übersprungen werden sollen).

Und alle anderen tabellen bleiben davon unberührt ... ausserdem stehen sie ja drin, weil sie ja standardmässig in den beiden arrays stehen.



Da hast du recht, nur die accounts werden geleert, aber wir kennen soweit ja auch deine Tabellenstruktur nicht, also wo werden denn die ICQ-Daten etc gespeichert?

Auf anhieb finde ich nun auch keine Stelle in deinem Source wo das gespeichert wird?

Grüße, Eichi

_________________
Ist es nicht die Weisheit, die ein Mensch zu erlangen sucht?!
Der Knochen kommt nicht von alleine zum Hund, schön wärs ._.

Schokopudding, der sich von alleine kochen kann.......


BLUBBBEL!


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 11 Mai, 2008 09:26 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
ICQ-Daten werden bei mir auch nicht gespeichert.

Ich hab einen kleinen Userpanel (nennt sich panel.php)
Dort kann der User z.b. Herkunft und Alter seines Chars eingeben, eben genauso wie die Bio und das Ava.

Diese Zusatzdaten bleiben auch nach dem Kill erhalten und nur eben Bio und Ava werden gelöscht ...

die Tabelle in die das alles gespeichert wird nennt ich eben bio.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 22 Mai, 2008 14:26 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
Okay, ich weiß jetzt wo das problem liegt, es liegt nicht am DK, sondern am neuen Tag ... wenn ich über den UE etwas an einem benutzer ändere und er dann einen neuen Tag bekommt (egal ob manuell oder system) sind Bio und Ava futsch, die restlichen daten bleiben aber erhalten. Also muss das Problem ja irgendwo im UE liegen, ich finds nur nicht, ich hab alles richtig eingebaut (zumindest hab ich es schon 3 mal durchgesehen und keinen fehler gefunden)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 22 Mai, 2008 14:53 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1712
jop hast das feld in der user.php nicht geändert sicher.. hatte das auch anfangs als ich die bio vergrössert hatte vergessen

_________________
~Inaktiv und Abwesend solange Mysql hier Moderatorenrechte hat~


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 22 Mai, 2008 16:29 
Offline
Lehrling
Lehrling
Benutzeravatar

Registriert: Mo 12 Nov, 2007 19:25
Beiträge: 32
Wohnort: Bottrop
Geschlecht: Weiblich
LoGD: http://www.yandalien.de/source.php
öhm ehrlich gesagt kA, ich hab es so eingebaut wie in der Anleitung oben ... alles, auch die user.php


Daher weiß ich eben nicht wo der fehler liegt


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 22 Mai, 2008 16:35 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1712
$this->bbcode_second_pass_code('', '[code]$form=array("bio"=>"Kurzbeschreibung des Charakters `n(Maximal {$maxbio} Zeichen),textarea,80,40,$maxbio","avatar"=>"Link auf einen Avatar`n(Bilddatei - maximal 200x200 Pixel)`n");
[/code]')

$maxbio ist nicht definiert in der user.php

_________________
~Inaktiv und Abwesend solange Mysql hier Moderatorenrechte hat~


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 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