anpera.net https://anpera.dyndns.org/phpbb3/ |
|
SQL Abfrage gestalten https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4845 |
Seite 1 von 1 |
Autor: | Liath [ Di 17 Mär, 2009 19:10 ] |
Betreff des Beitrags: | SQL Abfrage gestalten |
moinsen zusammen ![]() mal eine Frage zur Gestaltung eines SQL Queries ich hab in meiner Version eine Datei entdeckt, die Goldpresse. Dazu ist allerdings nirgends ein addnav oder dergleichen. Ich wollte jetzt, wenn man das Item in Schnappers Losbude gewonnen hat und die Goldpresse in seinem Haus eingelagert hat einen Link einbauen, das dort die Goldpresse angezeigt wird, folglich müsste ich ihm ja ein SQL Query bauen in dem abgefragt wird: ob das Item besteht und ob ich der Besitzer bin $this->bbcode_second_pass_code('php', '$sql = db_query("SELECT name FROM items WHERE owner=".$session['user']['acctid'].""); $row = db_fetch_assoc($sql); ') Dieses Query sollte doch abfragen welche Items der Owner hat, wie frage ich nun zusätzlich ab ob ich nun auch die Goldpresse besitze. wäre das einfach nur ? $this->bbcode_second_pass_code('php', 'if ($row['name']==Goldpresse) ') weil das ging bei mir nicht |
Autor: | Harthas [ Di 17 Mär, 2009 19:24 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
$this->bbcode_second_pass_code('', '$sql = "SELECT 0 FROM items WHERE owner=".$session['user']['acctid']." AND name LIKE 'Goldpresse'"; $result = db_query( $sql ); if ( db_num_rows( $result ) > 0 ) { addnav( '' , '' ); }') Dazu kannst du die name-Spalte auf den Wert Goldpress kontrollieren. Mit der Funktion db_num_rows wird die Anzahl der betroffenen Datensätze zurück gegeben. Wenn das Query also mindestens einen Treffer gelandert hat, wird der Nav angezeigt. Ich hoffe, das hilft dir etwas weiter. Mit freundlichen Grüssen, Harthas |
Autor: | Liath [ Di 17 Mär, 2009 19:52 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
aah klasse... denke das wird genau das sein was ich gesucht hab ![]() und wieder was gelernt ![]() danke Dir Harthas |
Autor: | Liath [ Mi 18 Mär, 2009 00:18 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
so. da ich zu blöd war das als Hausitem einzubinden hab ichs mir jetzt in die Jägerhütte gepackt... dort wird es halt nur angezeigt wenn man das Item auch wirklich aht... bei Gelegenheit muss ich mir mal das Itemhandling und die Hausstruktur ansehen, das is doch noch ne Nummer zu hoch für mich |
Autor: | Salator [ Sa 21 Mär, 2009 16:02 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
Du hattest doch die DS 2.5? Wenn hier etwas in den Häusern nutzbar sein soll brauchst du speziell angepassten Code. Schau dir dazu die Dateien im Ordner item_modules an. Für die Häuser ist der Abschnitt case furniture interessant. Anschließend musst du noch im Item-Editor angeben, welcher Hook für eingelagerte Items gelten soll. Die Goldpresse ist aber nicht für die Benutzung in Häusern ausgelegt, auch wenn der Beschreibungstext was anderes vermuten lässt. Hat das Ding in der 2.5er Version überhaupt schon funktioniert? Ich finde zwar die Datei und eine Freigabemöglichkeit in den Spieleinstellungen, aber der zugehörige Link in der Jägerhütte und auch die Item-Schablone fehlt. Teste das erstmal mit einem nur für Superuser sichtbaren Link. (die alte Version scheint als Popup ausgelegt gewesen zu sein) Ach ja, der Ordner images/goldpresse muss für den Webserver beschreibbar sein. In der aktuellen Version ist in der Jägerhütte ein Link ohne Bedingungen (spart die meist überflüssige Abfrage beim Betreten der Jägerhütte) und das Vorhandensein wird in der goldpresse.php selbst geprüft. $goldpresse=item_get("i.tpl_id='ci_goldp' AND owner=".$session['user']['acctid']); Hier wird das Vorhandensein eines Items mit der Schablone ci_goldp geprüft, was der Abfrage auf einen Namen vorzuziehen ist. Nach dieser Zeile ist $goldpresse entweder false oder ein Array mit den Item-Daten. P.S. Ich würde da jetzt nicht allzuviel Aufwand reinstecken um das Ding zum Laufen zu kriegen, außer du willst die Funktionsweise verstehen. Wie heißt deutsches Sprichwort? Kommt Zeit kommt Rat ![]() |
Autor: | Liath [ Sa 21 Mär, 2009 18:23 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
japp hab die DS 2.5 ![]() habs ja soweit schon in die Jägerhütte integriert, aber in meiner Version war da vorher kein Link. Ich habs jetzt so integriert, das bei betreten der lodge.php abgefragt wird ob man das Item besitzt (kann ja bei Schnapper gewonnen werden) und dann erst der Link angezeigt wird und japp über Popup... und funktionieren tut es auch einwandfrei, hab bis jetzt keine Fehler feststellen können. Aber Danke für Deine Hinweise, werd mal anschauen gehen |
Autor: | Dinarius [ Sa 21 Mär, 2009 18:46 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
Mir fällt da eine "sehr doofe Fehlerquelle" ein. Ich weiß zwar nicht, ob es bei deiner Version auch so ist. Aber mach doch mal das PopUp auf und laß mal die Zeit für den Autologout ablaufen bzw. setzt dich per DB raus. Weil doch dann ansich im Restorepage - feld das popup drin sein müßte. Und log dich dann mal wieder ein.... Wenn das ohne weiteres klappt, dann isses gut. Sonst wären vielleicht $allowanonymous ; $allownonnav ; $nokeeprestore mögliche Kandidaten. Je nachdem was du alles in dem PopUp hast bzw was in deiner Version überhaupt davon vorhanden ist. ![]() |
Autor: | Liath [ Sa 21 Mär, 2009 19:00 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
habs getestet... in die Jägerhütte rein, Goldpresse als Popup aufgerufen, phpMyAdmin rein, mich ausgeloggt, aktualisiert, eingeloggt... und war wieder in der Jägerhütte ![]() liegt bestimmt daran das ich das popup eh schon in $allownonnav und $nokeeprestore drin hatte ![]() |
Autor: | Dinarius [ Sa 21 Mär, 2009 19:16 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
Liath hat geschrieben: liegt bestimmt daran das ich das popup eh schon in $allownonnav und $nokeeprestore drin hatte ![]() genau auf den punkt wollte ich doch hinaus. ^^ |
Autor: | Liath [ Mi 01 Apr, 2009 10:05 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
mein nächstes problem hat zwar nicht direkt was mit ner abfrage zu tun, aber mit sql, darum schreib ich es mal hier bei... wie kann ich ein serialized array als standard in die db eintragen... wenn ich es als "text" angebe, meckert er weil er bei "text" keine standard werte setzen kann und bei den anderen wie "varchar" meckert er wohl wegen den sonderzeichen im array :/ kann man das überhaupt als standard setzen? |
Autor: | Harthas [ Mi 01 Apr, 2009 11:17 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
Versuch mal ein "geslashtes" serialisiertes Array. Vielleicht hilft das. |
Autor: | Liath [ Mi 01 Apr, 2009 12:06 ] |
Betreff des Beitrags: | Re: SQL Abfrage gestalten |
habs jetzt mit varchar(255) gelöst geht auch... trotzdem vielen dank ![]() auch wenn ich nicht weiss was Du damit meinst *g* |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |