anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Fr 18 Jul, 2025 11:23

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Kleines, banales SQL Problem...
BeitragVerfasst: So 15 Jan, 2006 05:18 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Fr 06 Jan, 2006 01:33
Beiträge: 459
Wohnort: Simmern
Geschlecht: Männlich
LoGD: http://www.morpheus-lotgd.de
Servus!

Meine Schwäche ist eindeutig SQL, daher eine Frage: wenn ich einem User ein Item weg nehmen will, dann benötige ich dazu eine SQL DEL Befehl, soviel weiß ich schon mal, doch, wie sieht der aus? Vielleicht so?

$this->bbcode_second_pass_code('', ' $sql="DELETE FROM items WHERE id=($item[name]=="Alte Flasche")";
db_query($sql);')

Ich vermute mal, daß eher nicht :pein: , daher folgendes:

Das Item, daß ich dem User weg nehmen will, steht fest, also keine Zufallsauswahl durch das Modul oder den User, ich will nur wissen, mit welchem Befehl mache ich das. Ich hab schon mal gesucht, hab auch einen Threat gefunden, in dem der Befehl erwähnt wird, aber nicht, wie er aussieht...
Betsen Dank schon mal für die Mühe :)

_________________
Ich bin das Land, meine Augen sind der Himmel, meine Glieder die Bäume, ich bin der Fels, die Wassertiefe. Ich bin nicht hier, um die Natur zu beherrschen oder sie auszubeuten. Ich bin selbst Natur.

(Hopi)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 15 Jan, 2006 06:51 
Offline
Admin
Admin
Benutzeravatar

Registriert: Di 21 Jan, 2003 01:11
Beiträge: 1604
Wohnort: Haßfurt
Geschlecht: Männlich
LoGD: http://www.anpera.net/logd
Skype: anpera-net
Also das Item ist bekannt und die Daten des Items stehen in einem Array mit der Bezeichnung $item ?

Wenn du das ganz bestimmte Item aus der Datenbank löschen willst:$this->bbcode_second_pass_code('', 'db_query("DELETE FROM items WHERE id={$item['id']}");')

Wenn du das Item dem User wegnehmen willst, ohne es aus der Datenbank zu löschen:$this->bbcode_second_pass_code('', 'db_query("UPDATE items SET owner=0 WHERE id={$item['id']}");')

Wenn du die fortlaufende Item-ID (id) nicht hast, oder die Daten des Items nicht vollständig bekannt sind, brauchst du ein paar zusätzliche Infos. Meine Annahmen fürs Beispiel:
Itemname: Alte Flasche
Besitzer: Der aktuelle Spieler
Itemklasse: Muell
ID dieses Items in der Datenbank: unbekannt$this->bbcode_second_pass_code('', 'db_query("DELETE FROM items WHERE class='Muell' AND name='Alte Flasche' AND owner={$session['user']['acctid']} LIMIT 1");')Wenn du alle alten Flaschen des Spielers löschen willst, lass das "LIMIT 1" weg.


Für ein Recyclingsystem (Itemklasse "Pfand") könntest du bei der Flaschenrückgabe folgendes auf die Datenbank loslassen:$this->bbcode_second_pass_code('', 'UPDATE items SET owner=0, name='Neue Flasche' WHERE class='Pfand' AND name='Alte Flasche' AND owner={$session['user']['acctid']}')Der Nachteil bei diesem System ist, dass die Anzahl der Flaschen entweder durch den Admin festgelegt ist (also jede Flasche von Hand erstellt werden muss), oder durch ein Script ständig wächst. Eine Alternative wäre es, mit Prototypen zu arbeiten, wie das bei Beute mit Beute.Prot der Fall ist... aber das ist schon wieder ne gaaaaanz andere Geschichte

_________________
Praxis ist, wenn alles klappt aber keiner weiß warum. Theorie ist, wenn man weiß wie es geht, aber nichts klappt. Wir haben beides erfolgreich vereinigt: Bei uns klappt nichts und keiner weiß warum!

Neues Video: Marios freier Tag in Second Life


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 15 Jan, 2006 08:29 
Offline
Großmeister
Großmeister
Benutzeravatar

Registriert: Fr 06 Jan, 2006 01:33
Beiträge: 459
Wohnort: Simmern
Geschlecht: Männlich
LoGD: http://www.morpheus-lotgd.de
:) Vielen Dank, ich will dem User tatsächlich nur eines der Beute Items weg nehmen, das als reguläres Item in der Liste steht. Weg nehmen wäre zuviel gesagt, er soll es benutzen, aber das wirst Du dann im fertigen Modul sehen... ;)

_________________
Ich bin das Land, meine Augen sind der Himmel, meine Glieder die Bäume, ich bin der Fels, die Wassertiefe. Ich bin nicht hier, um die Natur zu beherrschen oder sie auszubeuten. Ich bin selbst Natur.

(Hopi)


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

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

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