Databasregister

Skript för listning

Filen som anges under databasregistrets värde Lista kommer att anropas av Consolo när redaktören går in i aktuellt databasregister.

 

Invärden som skickas till skriptet med POST:

  • Consolo skickar in lösenordet som angetts i konfigurationen som en variabel password. Kontrollera denna i skriptet.

 

Respons från skriptet ska ges på följande form:

<?xml version='1.0' encoding='ISO-8859-1'?>
<REGISTER>
  <COLUMN_DEFINITION>
    <COLUMN caption="Id" width="0" />
    <COLUMN caption="caption2" width="x" />
    <COLUMN caption="caption3" width="x" />
    ...
  </COLUMN_DEFINITION>
  <ROW>
    <COLUMN>Id</COLUMN>
    <COLUMN>Value2</COLUMN>
    <COLUMN>Value3</COLUMN>
    ...
  </ROW>
  <ROW>
    <COLUMN>Id</COLUMN>
    <COLUMN>Value2</COLUMN>
    <COLUMN>Value3</COLUMN>
    ...
  </ROW>
  ...
</REGISTER>

 

Listan kan alltså bestå av obegränsat antal kolumner och obegränsat antal rader. I den första noden COLUMN_DEFINITION anges vilken rubrik som ska stå för varje kolumn (caption), samt bredden på kolumnen (width) i procent.

Därefter följer alla tabellens rader. Se till att antalet kolumner stämmer överens med antalet kolumner i COLUMN_DEFINITION.

 

Observera även följande:

Första kolumnen ska alltid innehålla id-numret, det vill säga den kolumn i databasen som fungerar som identity. Consolo kommer att skicka tillbaka detta id till övriga skript.

Bredder anges i procent, så se till att totalvärdet blir 100 om man räknar ihop alla kolumners bredder. En kolumn kan gömmas genom att man skriver in bredden 0.

 

Exempel

Det här exemplet visar hur man gör ett skript för listning i ASP kopplat till SQL. Om du använder någon annan teknik på din server, så översätt skriptet till önskat språk.

Börja med att göra en include som kan heta till exempel db_opendb.asp. Den filen kommer du att inkludera senare i alla skript. Om till exempel lösenordet till databasen ändras senare, så behöver du bara ändra på ett ställe. Här är ett exempel på hur db_opendb.asp kan se ut:

' Öppnar databasobjektet objConn 
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DSN=dsn;UID=user;PWD=password" 

 

Skapa sedan ett skript som heter till exempel db_test_list.asp. Det här exemplet listar ett arkiv med pressklipp.

<?xml version='1.0' encoding='ISO-8859-1'?>
<!-- #INCLUDE VIRTUAL='/consolo/db_opendb.asp' -->
<% If Request("password") <> "abc123" Then Response.End %>
<REGISTER>
  <COLUMN_DEFINITION>
    <COLUMN caption="ID" width="0" />
    <COLUMN caption="Titel" width="75" />
    <COLUMN caption="Datum" width="25" />
  </COLUMN_DEFINITION>
<%
' Hämta data från databas
Set RS = Connect.Execute("SELECT TOP 500 * FROM Presscutting_T ORDER BY Date_VC DESC;" )
While Not RS.Eof
  %>
  <ROW>
    <COLUMN><%=RS("Presscutting_ID")%></COLUMN>
    <COLUMN><%=Server.URLEncode(RS("Title_VC"))%></COLUMN>
    <COLUMN><%=RS("Date_VC")%></COLUMN>
  </ROW><%
  RS.MoveNext
Wend
'' Stäng databas
RS.Close
Set RS = Nothing
Connect.Close
Set Connect = Nothing
%>
</REGISTER>

 

Lägg märke till att:

  • Id-numret gömts för användaren.
  • Lösenordet som Consolo skickar kontrolleras på rad 3.