2013-08-06 53 views
0

好的,在這裏遇到了一些難題。在結構化網頁上顯示SQL結果

我有一個SQL查詢,我不想在網頁上顯示。 我的問題是讓它以所需的格式顯示結果。

它基本上是一個每週工作時間表,分爲幾天,並由每個安裝團隊分組。每個團隊每天的作業數量可以從無到有3或4. SQL查詢從大型列表中的基地拉取作業數據(如我所期望的) - 沒有問題。

的難題是得到它顯示在特定格式的網頁 - 這是本

image

的Web服務器是一個IIS窗口服務器,但已經安裝了PHP,那麼可以使用ASP/VB或PHP。

這是查詢:

SELECT Pers_Name 
    , PER_Data7 
    , Call_Ref 
    , dbo.dateonly(Scheduled_Date_Time) AS sched_date 
    , Link_to_Contract_Header 
    , Add1 
    , Add2 
    , Post_Code 
    , Call_Type_Description 
    , LUCFC_Description 
    , Call_Status_Description 
FROM Calls WITH (NOLOCK) 
INNER JOIN Clients WITH (NOLOCK) ON Link_to_Client = Client_Ref 
LEFT JOIN Personnel WITH (NOLOCK) ON Last_Allocated_To = Pers_Ref 
LEFT JOIN LU_Call_Types WITH (NOLOCK) ON Call_Type = Call_Type_Code 
LEFT JOIN Personnel_More WITH (NOLOCK) ON Last_Allocated_To = PER_Link_to_Pers_Ref 
LEFT JOIN LU_Call_Fault_codes WITH (NOLOCK) ON call_fault_code_1 = LUCFC_Code 
LEFT JOIN LU_Call_Status WITH (NOLOCK) ON Last_Event_Status = Call_Status_Code 
WHERE dbo.dateonly(Scheduled_Date_Time) BETWEEN '5 August 2013' AND '11 August 2013' 
    AND Call_Type IN ('BC', 'IN') 
    AND PER_Data7 IS NOT NULL 
ORDER BY sched_date, PER_Data7 

PER_Data7是保持球隊名稱的字段(即1隊,2隊等)。 sched_date是工作日期。

如何解決這個問題?

我有一個工作版本,只顯示一天的時間表,但結構是完全不同的,非常基本,並且會被廢棄。

+0

ASP/VBScript和PHP是不同的語言/框架 - 這是網站的其餘部分,這是編程的一部分? – AnonJr

+0

我知道他們是不同的語言 - 我只是簡單地說明服務器支持什麼。 這將是一個獨立的頁面,並且沒有其他站點 – chenks

回答

0

我還沒有研究過您的查詢並將其與表格進行比較以驗證記錄是按照您要顯示的順序出現的,但我會假設它們是,我會假設它們不是,你知道如何做出這些改變。

然後,基本想法是遍歷結果並將每個字段輸出到HTML表格中。我使用ASP,所以它看起來是這樣的:

' Make the connection etc, then... 
cmd.CommandText = "SELECT field1, field2 FROM table1 etc...." 
Set recordSet = Server.CreateObject("ADODB.Recordset") 
recordSet.Open cmdTemp, , adOpenKeyset, adLockReadonly 

' If there are results, emit the table 

if not recordSet.EOF then 
    Response.Write "<table><tr><td><b>Heading1</b><td><b>Heading2</b></td>...</tr>" 

    ' While there is another record to process, emit each row 

    do while not recordSet.EOF 
     Response.Write "<tr><td>" & recordSet("field1") & "</td><td>" & recordSet("field2") & "</td>...</tr>" 

     ' Get the next record 

     recordSet.MoveNext 
    loop 

    ' Finish the table 

    Response.Write "</table>" 
end if 

如果您的問題更多的是如何構建的查詢,這可能是太大的問題,在這裏發佈的。您可能必須根據您的表的結構以及您想要執行的操作,執行多個查詢(每行一個,每列一個或每個數據單元格一個)。

+0

不,他們的查詢是好的,並且它提取了所有要顯示的周作業所需的所有數據。 它得到它顯示在所需的結構是棘手的部分。 看着你的代碼,我不確定實際上是否給出了所需的結構。 看起來只是多行,並沒有考慮附加圖像中7天和10隊的表格。 – chenks

+0

是的,它也不會填充標題單元格中的背景顏色。所以你說的是,你根本不瞭解HTML的任何內容,需要每個細節?我只是展示了ASP/VBScript和HTML如何集成到你需要的內容。我認爲你可以從那裏拿起它。有關HTML教程,請參閱w3schools.com。 – Craig

+0

認爲你誤解了克雷格的問題,你似乎已經採取了駝峯。 你給我的例子已經知道該怎麼做了。這是我表明我在尋求幫助的具體佈局。雖然 感謝您的答覆,但似乎你已經採取了駝峯出於某種原因可以隨意罷了貢獻。 – chenks