2017-01-28 2 views
0

Ich stecke fest, eine Liste Seite auf einer neuen Website zu tun.Webmatrix - relevante Daten aus verbundenen SQL-Tabellen anzeigen

Ich habe 2 Tabellen in meiner Datenbank, Ort und Location_Images, mit einem gemeinsamen Feld in jeder LOCATION_ID.

Ich wollte eine Liste der Orte zu schaffen, wo jeder Name Standort neben ihm verbundenen Bilder angezeigt wird.

Hier ist mein Code:

var db = Database.Open("StarterSite"); 
var selectCommand = "SELECT * FROM Location"; 
var searchTerm = ""; 
var selectedPlace = db.Query(selectCommand, searchTerm); 

var selectImagesCommand = "SELECT loc_image_url FROM Location_Images JOIN Location ON Location_Images.location_id=Location.location_id"; 
var selectImagesTerm = ""; 
var selectedPlacePics = db.Query(selectImagesCommand, selectImagesTerm); 


@foreach(var row in selectedPlace) 
{ 
    @row.location_name; 

    foreach(var pic in selectedPlacePics) 
    { 
     <img src="img/locations/@pic.loc_image_url" alt=".">; 
    }; 

} 

In dieser Phase alle Bilder für jeden Ort zeigen.

Jede Hilfe würde sehr geschätzt werden.

+0

Sorry, Sie erhalten alle Standorte richtig, wenn das nicht das ist, was Sie wollen, erklären Sie bitte etwas mehr – Saravanan

+0

Ich bekomme jedes Bild in der Datenbank unter jedem Standort angezeigt und nicht nur diejenigen, die auf den bestimmten Standort verweisen. – Mark

Antwort

0

Sie können eine einzelne Abfrage für diese als verwenden:

SELECT Location .*, Location_Images.loc_image_url FROM Location leftjoin Location_Images ON Location_Images.location_id=Location.location_id"; 

wenn Sie einige Filter wollen, dann können Sie, wo Klausel verwenden.

+0

Wie würde ich das verwenden? Die Verwendung von SelectCommand hat keine Auswirkungen. Wenn Sie es für selectImagesCommand verwenden, wird Location_Images nicht erkannt (Token-Fehler). – Mark

Verwandte Themen