Prüfen ob Koordinaten belegt

Eine Frage stellt sich mir noch. Wie vergleiche ich jetzt jeden Eintrag im quee einzeln mit jedem Eintrag in der Datenbank der schon bestehenden Bereiche? Hierfür kommt nur eine for schleife in betracht oder?
 
Habe jetzt nochmal genau darüber nachgedacht.

Ich muss überprüfen ob die Kombination aus X und Z koordinate schon belegt ist.


Was den Quee angeht soll dieser folgendermaßen aufgebaut sein:

| ID | Spieler | min-X | min- Y | min-Z | max-X | max-Y | max-Z | timestamp |
 
Ja, das habe ich ja bereits mit SQL gelöst.
Was willst du mit deiner Schleife durchgehen?
Das ist ein Quee-Eintrag., nicht die Quee
ALso nochmals.
Wie sind diese "Wie vergleiche ich jetzt jeden Eintrag im quee einzeln" gespeichert?
Es gibt viele Arten von Listen:

Eine Datenbanktabelle mit Einträgen? Ein Array? Ein Objekt?
Woher hast du diese Quee?

Falls es eine DB-Tabelle ist, dann kannst du mit einer SQL-Abfrage alles Abhandeln. Ist es ein Array oder Objekt, dann hilft dir ein Iterator.
 
Ich möchte die Datenbankeinträge des quees mit der Datenbank in der die belegten koordinaten sind abgleichen. Allerdings muss ich das Ergebnis (frei oder belegt) mit dem Spielernamen und den koordinaten an eine php-datei weiterleiten, um so einen Befehl auf dem Minecraft-Server ausführen zu können.
 
Ah, quee ist eine DB-Tabelle. Das macht die Welt so einfach
SQL:
-- Namen müssen angepasst werden
SELECT
    q.id,
    q.spieler,
    0 = (
        select count(p1.*)
        FROM
            my_table AS p1,
            tbl_quee AS q1
        WHERE
            q1.id = q.id
            AND ( 
                LEAST(q1.max_x, p1.max_x) >= GREATEST(q1.min_x, p1.min_x)
                OR LEAST(q1.max_z, p1.max_z) >= GREATEST(q1.min_z, p1.min_z)
            )
    ) as is_free
FROM tbl_quee
Das kann dann im PHP angezeigt werden
 
Hier ein kleines Bildchen wie ich mir den Aufbau Gedacht habe:

schaubild.png
Ich möchte den Direkten zugriff auf die PHP-Api die mit dem MC-Server verbunden ist auf diese Art vermeiden. Um den Missbrauch der Api zu verhindern.

Damit der Quee Regelmäßig überprüft und geleert wird dachte ich an ein Cronjob der eine bestimmte Php-Datei in regelmäßigen abständen öffnet und somit die Überprüfung durchführt.
 
Ja. Und die Überprüfung kannst du ja locker vom PHP aus in der DB machen. Siehe mein letztes SQL.
Das kannst du dann in der PHP-Api auswerten.
 
Dein Beispiel trägt ja nur die Daten in den Quee ein die noch nicht belegt sind wenn ich das richtig sehe.
Ich wäre am überlegen ob man dem Quee dann nicht noch eine Spalte hinzufügt, beispielsweise | isfree | die mit true und false angibt ob koordinaten frei oder belegt sind.

So könnte ich dann im Cronjob mit der spalte isfree den passenden Befehl über die Php-Api an den Server senden lassen.

Nur wie müsste ich dafür dein Code modifizieren?
 
Zurück