Zum Inhalt springen

Problem mit Koordinatenverlauf


~Hawkeye~

Empfohlene Beiträge

Hallo,

ich bastel gerade an einem kleinen Tool, dass mir nach der Eingabe einer Start- und Zielkoordinate, eben diese beiden und alle anderen Koordinaten, die dazwischen liegen, anzeigt.

Also zum Beispiel:

Eingabe Start: 6 6 6

Eingabe Ziel: 10 10 10

6 6 6

6 8 9

6 10 20

9 10 30

.

.

.

10 10 10

Es sollen selbstverständlich nicht alle Werte zwischen Start und Ziel ausgegeben werden sondern nur die, die auch in der Datenbank (MySQL) stehen.

Bis jetzt sieht das so aus:


function Berechne_Weg($intStartGalaxy, $intStartSystem, $intStartPlanet, $intZielGalaxy, $intZielSystem, $intZielPlanet)
{
include ("mysql.inc.php");

if ($intZielGalaxy > $intStartGalaxy)
{
$strWhereclausel = "tbl_standorte.intGalaxy <= '".$intZielGalaxy."' AND tbl_standorte.intGalaxy >= '".$intStartGalaxy."'";
}
else
{
$strWhereclausel = "tbl_standorte.intGalaxy >= '".$intZielGalaxy."' AND tbl_standorte.intGalaxy <= '".$intStartGalaxy."'";
}

if ($intZielSystem > $intStartSystem)
{
$strWhereclausel .= " AND tbl_standorte.intSystem <= '".$intZielSystem."' AND tbl_standorte.intSystem >= '".$intStartSystem."'";
}
else
{
$strWhereclausel .= " AND tbl_standorte.intSystem >= '".$intZielSystem."' AND tbl_standorte.intSystem <= '".$intStartSystem."'";
}

if ($intZielPlanet > $intStartPlanet)
{
$strWhereclausel .= " AND tbl_standorte.intPlanet <= '".$intZielPlanet."' AND tbl_standorte.intPlanet >= '".$intStartPlanet."'";
}
else
{
$strWhereclausel .= " AND tbl_standorte.intPlanet >= '".$intZielPlanet."' AND tbl_standorte.intPlanet <= '".$intStartPlanet."'";
}


$strSQLString = "SELECT tbl_standorte.intGalaxy,
tbl_standorte.intSystem,
tbl_standorte.intPlanet,
tbl_user.varUser,
tbl_typ.varTyp
FROM tbl_standorte
INNER JOIN tbl_typ
INNER JOIN tbl_user
ON tbl_standorte.intTypID_FK = tbl_typ.intTypID_PK
ON tbl_standorte.intUserID_FK = tbl_user.intUserID_PK
WHERE ".$strWhereclausel."
ORDER BY tbl_standorte.intGalaxy, tbl_standorte.intSystem, tbl_standorte.intPlanet;";
$intErgebnis = mysql_db_query($strDBName, $strSQLString, $strServer) or die ($strSQLString ."<br />". mysql_error());

return $intErgebnis;

mysql_close();
}

[/PHP]

Nur funktioniert das nicht wirklich. Also Probleme tauchen auf, wenn der Start- größer ist als der Zielwert und es wird zwar ein Verlauf dargestellt, nur leider nicht der zwischen dem Gesamtwert der Koordinaten sondern nur der Einzelergebnisse

Zu der DB- Struktur wäre noch zu sagen, dass die tbl_standorte die Koordinaten in 3 Spalten enthält. Die Tabellen tbl_user und tbl_typ sind nur Resourcentabellen.

Die Lösung wird wahrscheinlich wieder ganz einfach sein und ich steh nur wieder auf dem Schlauch.

PS: Am liebsten wäre mir eine Lösung die nur über das SQL- Statement funktioniert. Also keine nach bzw. vorbereitung im php.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...