Seit ein paar Tagen kann ich keine Lösung für dieses eine Problem beim Sortieren der Daten aus einer verbundenen Tabelle finden.Sortieren von Problemen mit mySQL JOIN
Sagen Sie, ich mache Restaurant-Routen für Benutzer. Jeder Benutzer hat ein paar Restaurants in seiner Reiseroute.
Ich habe zwei Tabellen, eine enthält die Informationen über die Route eines Benutzers (wann wird er Restaurants besuchen, welche Restaurants), und eine enthält die Informationen über alle Restaurants, die ich kenne.
Führer ................... und .............. Restaurants
userid ---> id
restaurant1_id -->--| name
date1 | style
restaurant2_id -->--| address
date2
Das "restaurant1_id" oder "restaurant2_id" entspricht dem "id" in der Restauranttabelle. So bin ich innere diese Tabellen wie diese Verbindung:
SELECT restaurants.name AS name, restaurants.style AS style, restaurants.address AS address, guides.date1 AS date1, guides.date2 AS date2
FROM `guides`
INNER JOIN `restaurants`
ON guides.restaurant1_id = restaurants.id or guides.restaurant2_id = restaurants.id
WHERE guides.userid = 2
Say Ich mag würde alle Infos von allen Restaurants ein Benutzer mit der ID „2“ besuchen werden, um zu sehen. Mit der folgenden Abfrage, ich bin immer das gewünschte Ergebnis:
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo
$row['name'].'<br>'
.$row['style'].'<br>'
.$row['address'].'<hr>' ;
}
}
else {
echo 'No results.';
}
ich eine Geige here erstellt.
Wo ich Probleme habe, sortiert die Ergebnisse. Ich möchte, dass das Restaurant, das in der Tabelle "guides" als "restaurant1_id" bezeichnet wird, vor "restaurant2_id" angezeigt wird.
Ein anderes Problem ist das Datum. Ich kann nicht herausfinden, wie 'date1' neben dem Namen 'restaurant1_id' angezeigt wird.
Soll ich alle Daten in Variablen speichern oder gibt es eine bessere Möglichkeit, dies zu erreichen? Ich freue mich über Vorschläge!
Big Problem scheint zu sein, dass Sie mehrere Zeilen zurückgebracht zu bekommen. Ich vermute, dass Sie sich mehrfach an den Tisch des Restaurants anschließen wollen, einmal für jedes Restaurant. – Kickstart
Vielen Dank für Ihren Vorschlag Kickstart. Garden Apple hat jedoch eine Lösung für dieses Problem gefunden. – Rens