SQL Query Problem

09/27/2019 10:59 mastermo#1
Grüße,

ich habe ein Problem und bräuchte eure Hilfe dabei. :)

Seit einiger Zeit sitze ich an einem Problem und finde zu keiner Lösung bzw. keiner, die ich selbst umsetzen kann.

Ich habe eine Datenbank mit folgenden Spalten (Längengrad, Breitengrad, Ort, Haltestelle) in der Positionen von Bushaltestellen hinterlegt sind.

Diese werden mittels Query ausgelesen und auf einer Karte dargestellt (Leafleet mit OSRM.)

Mein Problem: Bisher muss ich für jede Linie für jede Haltestelle einen Eintrag machen - also für eine mehrfach genutzte Haltestelle von verschiedenen Linien jedes Mal ein neuer Eintrag.

Die Haltestellen müssen natürlich in einer bestimmten Reihenfolge abgerufen werden.

Mein Code zum Auslesen:
PHP Code:
<?php 

include('config.php');
$query1=mysql_query("select * from routen WHERE matrixid LIKE '%" mysql_real_escape_string($_GET['parameter']) . "%' ORDER BY number ASC");

while(
$query2=mysql_fetch_array($query1))
{
echo 
"L.latLng(".$query2['longitude'].", ".$query2['latitude']."),";
}
?>
Ich wäre riesig dankbar, wenn mir wer dabei helfen mag.
09/27/2019 11:32 noahrmal#2
Wie sieht dein Datenmodell den konkret aus? Laut deiner Beschreibung stehen die Entitäten Bushaltestelle und Linie in einem n:m Verhältnis zueinander. Eine Bushaltestelle kann in mehreren Linien enthalten sein und eine Linie besteht aus mehreren Bushaltestellen. Dieses Verhältnis lässt sich in einer relationalen Datenbank nicht abbilden, weswegen diese mit Hilfe einer Zwischentabelle aufgelöst werden muss. Du benötigst also dann 3 Tabellen:

[Only registered and activated users can see links. Click Here To Register...]

Deine SQL-Abfrage müsste dann mit einem [Only registered and activated users can see links. Click Here To Register...] erweitert werden, um die gewünschten Daten auszulesen. Ansonsten würde ich mich mal mit der Normalisierung von Datenbank beschäftigen.
09/27/2019 14:48 False#3
123klo (creativer Name :P) hat denke ich schon die passende Antwort gegeben, daher von mir nur der Zusatz das du ein Auge auf deine PHP-Version werfen solltest und seit wann diese nicht mehr geupdatet wird ([Only registered and activated users can see links. Click Here To Register...]).
Du benutzt die mysql_* Funktionen die schon lange nicht mehr existieren ([Only registered and activated users can see links. Click Here To Register...]) und das hat auch seine guten Gründe.