[XML]: Oplossing met ASP

Pagina: 1
Acties:
  • 138 views sinds 30-01-2008
  • Reageer

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Samen met anderen beheer ik een internationaal georienteerd simrace-kampioenschap. In het kader daarvan organiseren wij aan het einde van het jaar de Zandvoort Masters 2002, waarbij iedere simracer wordt uitgenodigd om het jaar af te sluiten.

Wij draaien onze site met ASP (3.0) en Access-DB's. Nu komen er vragen van andere sites dat zij graag de live-results (die op onze site staan bij de races) ook op hun eigen site willen aanbieden.

Nu zijn er volgens mij 2 oplossingen

1) Wij maken een template van de andere pagina en plaatsen deze op onze site.. waarna de andere site die template in het design kan opnemen.
2) Wij bieden een XML-bestand aan met daarin de live results.

De tweede oplossing lijkt me vanzelfsprekend het beste en meest uitdagend, aangezien dan in feite iedereen het kan gebruiken. Echter, mijn ervaring met XML is nog beperkt. Ik heb al data uit de DB in XML-formaat kunnen weergeven, maar mijn vraag is hoe ik dit het beste kan aanpakken.

Bijvoorbeeld... dien ik de resultaten als 'gevuld' XML-bestand aan te bieden (dus van tevoren, of bij aanvraag, gevuld) of zijn er betere mogelijkheden?

Jaap


Verwijderd

Zie http://www.w3schools.com/xml/xml_server.asp hoe je heel simpel dynamisch XML via ASP vanuit een database kunt aanbieden. Vanuit dit kan je verder bedenken hoe makkelijk het is om bijvoorbeeld parameters in de URL een effect te laten hebben op de resultaten door bijv. de query aan te passen. Mooier is het om de MS XML DOM te gebruiken om XML te genereren, maar dit is een leuk begin.

Veel algemene info over XML valt te lezen in de FAQ en in dozijnen topics over wat XML is (zie search)

Enjoy :)

Edit:
Nog een mooie link: http://www.aspkicker.com/XML/

[ Voor 0% gewijzigd door Verwijderd op 19-10-2002 13:51 . Reden: Link added ]


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
J.apiooo schreef op 19 oktober 2002 @ 13:31:
Samen met anderen beheer ik een internationaal georienteerd simrace-kampioenschap. In het kader daarvan organiseren wij aan het einde van het jaar de Zandvoort Masters 2002, waarbij iedere simracer wordt uitgenodigd om het jaar af te sluiten.

Wij draaien onze site met ASP (3.0) en Access-DB's. Nu komen er vragen van andere sites dat zij graag de live-results (die op onze site staan bij de races) ook op hun eigen site willen aanbieden.

Nu zijn er volgens mij 2 oplossingen

1) Wij maken een template van de andere pagina en plaatsen deze op onze site.. waarna de andere site die template in het design kan opnemen.
2) Wij bieden een XML-bestand aan met daarin de live results.

De tweede oplossing lijkt me vanzelfsprekend het beste en meest uitdagend, aangezien dan in feite iedereen het kan gebruiken. Echter, mijn ervaring met XML is nog beperkt. Ik heb al data uit de DB in XML-formaat kunnen weergeven, maar mijn vraag is hoe ik dit het beste kan aanpakken.

Bijvoorbeeld... dien ik de resultaten als 'gevuld' XML-bestand aan te bieden (dus van tevoren, of bij aanvraag, gevuld) of zijn er betere mogelijkheden?
Met XML is zeker mogelijk. Ik heb tijdens een practicum een webwinkeltje gebouwd met ASP en XML.
XML gebruikt voor de opslag van de data. Daarna met XPath queries uitgevoerd. Tot slot met XSL de resultaten opgemaakt.

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Bedankt, Ruud.

Voordat ik mijn post maakte, had ik al wel wat research gedaan en de w3schools ontbraken daar natuurlijk niet bij :)

De voorbeelden die zij geven, geven goed inzicht, maar kunnen mijn doel volgens mij nog niet invullen.

Ik kan wel gewoon een vooraf gevulde, statische XML-file inlezen, maar het probleem ligt juist bij het up-to-date houden van de XML-file. Het is eigenlijk vergelijkbaar met nieuws-sites die hun laatste 10 items online aanbieden voor gebruik op andere sites. Hier zitten wat vraagtekens bij mij...

Jaap


Verwijderd

Uhm, dan lees je niet goed. In de link die ik je gaf wordt beschreven hoe XML gegenereerd wordt, niet gelezen.

  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Idd. Het is redelijk makkelijk om het XML document te vullen. Ook gedaan bij die winkel; de geplaatste bestellingen werden toegevoegd.

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Ruud, die link bevat toch informatie over hoe je een XML-reactie vanuit een DB genereert... maar toch niet hoe dit in een XML-bestand wordt opgeslagen?

Bedankt voor de andere links in elk geval. Ik ga eens verder lezen.. :)

Jaap


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Je moet mbv ASP de data in een XML document stampen. Je gebruikt dan de XML DOM.

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Dit riekt naar soap :*)

Verwijderd

J.apiooo schreef op 19 oktober 2002 @ 14:05:
Ruud, die link bevat toch informatie over hoe je een XML-reactie vanuit een DB genereert... maar toch niet hoe dit in een XML-bestand wordt opgeslagen?

Bedankt voor de andere links in elk geval. Ik ga eens verder lezen.. :)
Maar waarom zou je die gegevens in een XML bestand willen opslaan? Dat is vergelijkbaar met een ASP bestand dat een HTML bestand schrijft, om vervolgens daarnaar te verwijzen.

Als iemand jouw gegevens in een website wil opnemen, kan die gewoon bijv. http://www.jouwdomein.com...s.asp?userid=213&view=xml aanroepen vanuit zijn pagina, de XML parsen en omzetten naar de door hem gewenste XML. Dat zou net zo makkelijk gaan als bijv. http://www.jouwdomein.com/personalstats/user213.xml aan te roepen en hetzelfde mee te doen.
Yupz, maar omdat er geen echt makkelijke tools om dat te maken voor ASP zijn (i.t.t. ASP.Net) is dat misschien een te grote stap op het ogenblik :)

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
aha.. Ik ga me in XML DOM verdiepen... Ruud zoals jij het schetst, zou het via ASP in XML weergeven van de data dus ook door anderen geparsed kunnen worden.

Overigens heb ik vandaag de 'ASP.NET Bible' aangeschaft. Daarmee kunnen dit soort vragen volgens mij wél gemakkelijker worden opgezet.

Echter, wat is volgens jullie de handigste aanpak... het plaatsen van de data in een xml-bestand, of gewoon het opzetten van een asp-pagina met daarin de data in XML-opmaak? Als ik de tweede optie kies, zijn anderen dan in staat om de ASP-pagina als XML te parsen en vervolgens om te zetten via XSL?

Jaap


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

J.apiooo schreef op 19 oktober 2002 @ 16:43:
aha.. Ik ga me in XML DOM verdiepen... Ruud zoals jij het schetst, zou het via ASP in XML weergeven van de data dus ook door anderen geparsed kunnen worden.

Overigens heb ik vandaag de 'ASP.NET Bible' aangeschaft. Daarmee kunnen dit soort vragen volgens mij wél gemakkelijker worden opgezet.

Echter, wat is volgens jullie de handigste aanpak... het plaatsen van de data in een xml-bestand, of gewoon het opzetten van een asp-pagina met daarin de data in XML-opmaak? Als ik de tweede optie kies, zijn anderen dan in staat om de ASP-pagina als XML te parsen en vervolgens om te zetten via XSL?
Wat het handigst is..... Er zit een performance verschil in, aan de andere kant is het ander niet echt 'live'.
Anderen zijn in staat om een asp-pagina als XML te parsen, mits je de juiste contenttype meegeeft.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
J.apiooo schreef op 19 oktober 2002 @ 16:43:
aha.. Ik ga me in XML DOM verdiepen... Ruud zoals jij het schetst, zou het via ASP in XML weergeven van de data dus ook door anderen geparsed kunnen worden.

Overigens heb ik vandaag de 'ASP.NET Bible' aangeschaft. Daarmee kunnen dit soort vragen volgens mij wél gemakkelijker worden opgezet.

Echter, wat is volgens jullie de handigste aanpak... het plaatsen van de data in een xml-bestand, of gewoon het opzetten van een asp-pagina met daarin de data in XML-opmaak? Als ik de tweede optie kies, zijn anderen dan in staat om de ASP-pagina als XML te parsen en vervolgens om te zetten via XSL?
Ik zou voor de eerste gaan. Is de meest flexibele oplossing (voor de 'klant').

Verwijderd

Asp.Net gebruikt xml exact zoals het alle data gebruikt: je kan dus bijvoorbeeld een datatable maken en in een keer outputten naar xml. Erg makkelijk.

Maar aangezien jij asp draait, snap ik niet wat je aan asp.net hebt!

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Ik heb inderdaad nu nog niets aan ASP.NET, maar op termijn zal ook voor ons ASP 3.0 vervangen worden. Nu echter nog niet.

Als ik voor de eerste kies, die inderdaad de 'klanten' de meeste vrijheid biedt, hoe zorg ik ervoor dat de xml-file up-to-date blijft (dus na iedere recordtoevoeging).

Laat ik de data iedere keer opnieuw via XML DOM in de XML-file stampen na een wijziging in de DB??

Jaap


Verwijderd

ja, als het is zoals de laatste 10 nieuwsitems bijvoorbeeld zou ik na elke insert ook de xml file updaten.
Ook mogelijk is om een page te schrijven die xml output rechtstreeks uit de db. Weet niet wat in jouw situatie het handigst is. Ik zou niet gaan voor laatste oplossing, aangezien je daar vrij veel hits op kan krijgen (alle page requests van die partnersites van je) en je db dus erg heavy wordt gehit. Ik zou gewoon een xml bestand hebben dat ik telkens update

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Verwijderd schreef op 19 oktober 2002 @ 15:02:
Yupz, maar omdat er geen echt makkelijke tools om dat te maken voor ASP zijn (i.t.t. ASP.Net) is dat misschien een te grote stap op het ogenblik :)
Mwoah niet helemaal mee eens, 6 regels code en ik heb in traditioneel asp een soap interface voor je.

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Okay.. inmiddels heb ik na wat research 2 bestanden. Eén met daarin de data (ZandvoortTest.xml) en één met de xsl. Lokaal kan ik ze mooi in elkaar schuiven, maar de werkelijke waarde ligt natuurlijk in de mogelijkheden om vanuit andere servers de bestanden te gebruiken en eventueel met een eigen xsl (of via css) het xml-bestand weer te geven.

De vraag is.. hoe kan ik dit het best via Javascript weergeven, zodat het vanaf andere servers bereikbaar is en weergegeven kan worden? Volgens mij kun je XML-bestanden via meerdere wegen uitlezen en formatteren en JavaScript verdient hierbij de voorkeur aangezien dat op alle servers (van mogelijke 'klanten') zal werken en asp vanzelfsprekend niet.

Het betreft overigens het volgende xml-bestand: http://www.gpchampionship.com/xml/ZandvoortTest.xml Het updaten van het xml-bestand na wijzigingen in de DB, zoals eerder in het topic reeds beschreven, is al gelukt. Dat is inderdaad de beste aanpak gebleken gegeven deze situatie.

Jaap


  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Het lukt me nog steeds niet om de record allemaal uit de xml in te lezen en via Javascript te renderen... iemand een idee? (dit is toch een behouden manier om het topic weer in de schijnwerpers te zetten? ;))

Jaap


  • Croccifixio
  • Registratie: Maart 2002
  • Laatst online: 01-04-2025
Post anders eff je code waarin je de XML parsed. Kunnen we wat beter zien wat je aan het doen bent.
En als je wilt, post meteen eff de source van je xml-bestand (ik heb al naar de source gekeken op de site, maar ik mis daar een namespace voor je xml-bestand; ik wil eff weten of die er idd niet instaat, of dat 'ie weg wordt gerendered).

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Wat mist er in dit XML-bestand?

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="ISO-8859-1"?>
<ZandvoortLiveTable>
    <Record>
        <Name>Robert Urbach</Name>
        <Team>Roaldo Racing</Team>
        <Time>71,524</Time>
        <Date>21-9-02 16:42:00</Date>
    </Record>
    <Record>
        <Name>Alex Hilliges</Name>
        <Team>Toxic Monitorsports</Team>
        <Time>71,53</Time>
        <Date>22-9-02 19:27:00</Date>
    </Record>
    <Record>
        <Name>Jeroen Blankwaard</Name>
        <Team>MAMA Racing F1</Team>
        <Time>71,849</Time>
        <Date>22-9-02 21:44:00</Date>
    </Record>
</ZandvoortLiveTable>


Dit is mijn xsl:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="ISO-8859-1"?>
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <BODY STYLE="font-family:Arial, helvetica, sans-serif; font-size:12pt;
        background-color:#EEEEEE">
    <xsl:for-each select="ZandvoortLiveTable/Record">
      <DIV STYLE="background-color:teal; color:white; padding:4px">
        <SPAN STYLE="font-weight:bold; color:white"><xsl:value-of select="Name"/></SPAN>
        - <xsl:value-of select="Team"/>
      </DIV>
      <DIV STYLE="margin-left:20px; margin-bottom:1em; font-size:10pt">
        <xsl:value-of select="Time"/>
        <SPAN STYLE="font-style:italic">
          (<xsl:value-of select="Date"/>)
        </SPAN>
      </DIV>
    </xsl:for-each>
  </BODY>
</HTML>


en hiermee kan ik de xml via de xsl d.m.v. ASP weergeven, maar dit wil ik liever via JavaScript laten doen:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
'Load ZandvoortXML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false

'Load ZandvoortXSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("ZandvoortTest.xsl"))

'Show result
xml.load(Server.MapPath("ZandvoortTest.xml"))
LiveResults=replace(xml.transformNode(xsl),"'","")

Response.Write LiveResults

'Clean up
Set xml = nothing
Set xsl = nothing
%>

Jaap


Verwijderd

Wat dacht je van:


HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<html>
<body>
<script language="javascript">
// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("http://www.gpchampionship.com/xml/ZandvoortTest.xml")

// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("data.xsl")

// Transform
document.write(xml.transformNode(xsl))
</script>

</body>
</html>


Wel even waar ik nu 'data.xsl' heb neergezet vervangen door de betreffende stylesheet ;-)

[ Voor 0% gewijzigd door Verwijderd op 22-10-2002 22:29 . Reden: typo ]


  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Dat werkt lokaal wel, maar wanneer ik het online tussen 2 servers probeer, krijg ik een foutmelding. Waar kan dat aan liggen?

Ik heb de xsl zowel op de ene als op de andere server geprobeerd.. beide met hetzelfde effect, terwijl het lokaal gewoon functioneert.

Jaap


Verwijderd

Ik heb het even gechecked - Hij doet het hier met de html locaal - xsl van website - xml van website wel -> maar komt met de melding:

'This page is accessing information that is not under its control. This poses a security risk. Do you want to continue?'

Dus het lijkt me een security issue. O-)
Ik vermoed dat dit komt doordat het een ActiveX aanspreekt. Ik heb helaas niet zo snel een suggestie ;[

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
:) Dat heb ik dus ook.... hmmm...

Ik heb nu geprobeerd om de xml om een non-IIS bak te zetten, in de hoop het probleem te omzeilen, maar geen succes. Ik zal het XML document dus moeten parsen zonder gebruik van ActiveX...

Jaap


Verwijderd

Nieuws aanbieden kun je eventueel ook doen via Javascript. Is iets minder mooi maar voor je gebruikers veel makkelijker.

De gebruiker neemt de volgende code op :

<!------- Nieuws Code ------------->
<script language="JavaScript"> var strCode = '';</script>
<script src="http://www.blabla.com/extern.asp"></script>
<script language="JavaScript">document.write(strCode);</script>
<!--------- Einde Nieuws Code --------------->

En in extern.asp zet je wat je wilt afbeelden in de variable strRet en plaats onder in je script de volgende code :

<%
strRet = "strCode='" & strRet & "'"
Response.Buffer = TRUE
Response.ContentType = "application/x-javascript"
Response.Write strRet
Response.End
%>

Verwijderd

Dat is opzich natuurlijk best hip - maar je mist dan natuurlijk voordelen van het gescheiden hebben van de content / layout B)

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Yep.. en dat scheiden is juist wat we willen bereiken. Desalniettemin een leuke aanpak van Sybesma.

Hmmm.. ik vraag me af of ActiveX wel het probleem is.

Wanneer ik alle bestanden lokaal plaats, werkt het wél (ook wanneer het online door een andere PC aangeroepen wordt). Wanneer ik de verwijzing naar het xml-bestand verander naar een xml-bestand online werkt het niet meer.

Zit er hier geen fout:

xml.load("http://www.gpchampionship.com/xml/ZandvoortTest.xml") ?

Jaap


Verwijderd

edit: nevermind maakte geen sense - werkt niet :'(

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
edit.. dan is deze ook zinloos.

Jaap


  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Toch is dit een interessant probleem... hoe kun je nu *gemakkelijk* een xml-bestand inlezen van een andere server met Javascript, waarbij de eigen server het xml-bestand via een eigen xsl of css kan formatteren?

Jaap


Verwijderd

Verwijderd schreef op 22 oktober 2002 @ 23:40:
Ik heb het even gechecked - Hij doet het hier met de html locaal - xsl van website - xml van website wel -> maar komt met de melding:

'This page is accessing information that is not under its control. This poses a security risk. Do you want to continue?'

Dus het lijkt me een security issue. O-)
Ik vermoed dat dit komt doordat het een ActiveX aanspreekt. Ik heb helaas niet zo snel een suggestie ;[
Als je de xsl van een andere site dan je eigen site laadt, krijg je security problemen, aangezien er code in de xsl kan staan die bijv. je registry wist (als je security settings bagger zijn ten minste). Gebruik je XML van de complete URL, maar je lokale XSL, en dat zou goed moeten gaat.

Verder is dat natuurlijk ook het logische gebruik, omdat zo iedere site hun eigen XSL dus ook weergave kan en wil gebruiken.

Enjoy :)

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Precies. Dat is juist de bedoeling.... maar... dan zou onderstaande code online dus moeten werken (met op de eigen server de xsl (van de 'klant'), terwijl de xml van een andere server wordt afgehaald):

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<body>
<script language="javascript">
// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("http://www.gpchampionship.com/xml/ZandvoortTest.xml")

// Load XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false

xsl.load("ZandvoortTest.xsl")

// Transform
document.write(xml.transformNode(xsl))
</script>

</body>
</html>


Gebruik ik de bovenstaande code, dan werkt ie online niet meer. Zo snel als ik het xml-bestand ook lokaal plaats en aanroep, dan pas werkt ie (en krijg je ook geen security-alert meer). Dat je dan geen melding krijgt is uiteraard logisch, maar al met al werkt het niet optimaal en dat is zeker niet de bedoeling van de toepassing van xml lijkt me.

Bijvoorbeeld, dit werkt: http://www.gpchampionship.com/xml/ZandvoortTest4.htm (waarbij de xml lokaal wordt aangeroepen, zo snel als er een http://... wordt gebruikt binnen xml.load(), gaat het verkeerd en krijg je een javascript-error.

Het zou er natuurlijk gewoon zo kunnen zijn dat de serverinstellingen het verhinderen dat een xml-bestand van een andere server dan de eigen worden ingelezen...

Jaap


Verwijderd

Fyi:

Die url doet het HIER dus gewoon prima... :-)

[edit:] dat is dus ook wat je zei al - nevermind :-)

Verwijderd

Ah wacht even, je wil de XML door je browser laten omzetten, en niet door de server van de andere sites. Tja, dan krijg je idd security issues. Mijn idee is dus om op de partner sites deze bewerking te laten uitvoeren en de gerenderde HTML in hun eigen pagina te verwerken.

Verwijderd

Misschien is de Javascript Optie dan toch zo gek nog niet.... Als je daar nu gewoon regel voor regel je tekst kaal aanbiedt kan de gebruiker het toch prima in zijn stijl opnemen....??


<> Hee zie trouwens net voor welke site je dit aan het maken bent... :-) twee vrienden van mij kijken amper meer op een andere site ( Mukder en Dijkstra van Mama Racing...) <>

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Hahaha... Mulder & Dijkstra... :) Om het cirkeltje rond te maken... ik organiseer het kampioenschap samen met Maurice van den Hoogen en dat is, jawel, de teambaas van MAMA ;)

Hoe klein kan zelfs de virtuele wereld zijn :) 8) Feliciteer Ricardo nog maar eens met z'n pole op de Nurburgring. Dat was een wereldprestatie!

Stel dat ik dan met Javascript doe (volgens Sybesma's oplossing)... kunnen partner-sites dan de 'kale' tekst nog wel zelf opmaken?

Jaap


Verwijderd

Jazeker....Behalve <br> tags die je in je code definieert...

Ikzelf gebruik het door bijv 8 regels met laatste nieuwsberichten te tonen met alleen <br> en verder zonder opmaak...

Op een partner site kun je dan het script binnen een <font> </font> tag aanroepen of bijvoorbeeld in een DIV met eigen class.

Verder zou je bijvoorbeeld de aan te roepen asp van een Querystring kunnen voorzien...Dus bijv :

---
<script src="http://www.blabla.com/extern.asp?posities=3"></script>
---

Zo zie je bijvoorbeeld alleen positie 1 tm 3.. Uiteraard kun je meer zaken aan de queryString toevoegen :-)

XML is inderdaad veel mooier en geeft meer mogelijkheden maar voor wat jij wilt kan Javascript al een prima oplossing zijn... En is voor de partner sites erg makkelijk...

Ricardo zie ik vanavond weer, ik zal hem de groeten doen..

  • J.apiooo
  • Registratie: Oktober 2000
  • Laatst online: 21-07 10:36
Ik heb inmiddels ff een scriptje gebakken en het werkt idd voor dit probleem in voldoende mate. Natuurlijk hebben partner-sites geen complete vrijheid qua presentatie, maar door een aantal parameters toe te voegen hebben de sites toch een goede keuze voor het aantal weer te geven records, de weer te geven velden etc...

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<%
'check of er een maximum aantal weer te geven coureurs is ingesteld
If request("shownumber")="" then
    shownumber=100
Else
    shownumber=request("shownumber")    
end if

'ophalen andere parameters LiveResultsZandvoort
showtrack=request("track")  
showsession=request("showsession")  
showcountry=request("showcountry")
showteam=request("showteam")
showtime=request("showtime")
  

    'query ophalen LiveResultsZandvoort uit DB
    If showsession="Q" then
        Sql = "select Driver as Driver,Country,Team,QTime as Result, QDate from tabF1_Qual WHERE TRACK='"&showtrack&"' ORDER BY QTime ASC"
    Else
        Sql = "select Rijder as Driver,Country,Team,RTime as Result, RDate from tabF1_Race WHERE TRACK='"&showtrack&"' AND RTime<>0 AND Laps>10 ORDER BY RTime ASC"
    End if
    Set rs = Dataconn.Execute(Sql)
    T=1
    
    If rs.EOF then
        ShowFinalString=showtrack&" results:<br><br>No results yet<br><br><a href=http://www.gpchampionship.com target=_blank>GPChampionship.com</a>"
    else
            Do While Not rs.EOF and T=<CInt(shownumber)
    
        If showcountry=1 AND showteam=1 AND showtime=1 then
            ShowString=T&".[img]http://www.gpchampionship.com/gif/flags/"&rs("Country")&".gif[/img] "&rs("Driver")&" - "&rs("Team")&" - "&"1:"&rs("Result")-60&"<br>"
            ElseIf showcountry=1 AND showteam=1 AND showtime<>1 then
                ShowString=T&".[img]http://www.gpchampionship.com/gif/flags/"&rs("Country")&".gif[/img] "&rs("Driver")&" - "&rs("Team")&"<br>"
            ElseIf showcountry=1 AND showteam<>1 AND showtime=1 then
                ShowString=T&".[img]http://www.gpchampionship.com/gif/flags/"&rs("Country")&".gif[/img] "&rs("Driver")&" - "&"1:"&rs("Result")-60&"<br>"
            ElseIf showcountry=1 AND showteam<>1 AND showtime<>1 then
                ShowString=T&".[img]http://www.gpchampionship.com/gif/flags/"&rs("Country")&".gif[/img] "&rs("Driver")&"<br>"
            ElseIf showcountry<>1 AND showtime=1 AND showteam=1 then
                ShowString=T&"."&rs("Driver")&" - "&rs("Team")&" - "&"1:"&rs("Result")-60&"<br>"
            ElseIf showcountry<>1 AND showtime=1 AND showteam<>1 then
                ShowString=T&"."&rs("Driver")&" - "&"1:"&rs("Result")-60&"<br>" 
            Else
                ShowString=T&".[img]http://www.gpchampionship.com/gif/flags/"&rs("Country")&".gif[/img] "&rs("Driver")&" - "&rs("Team")&" - "&"1:"&rs("Result")-60&"<br>"
            End if  
            
            rs.movenext
            T=T+1
            ShowFinalString=ShowFinalString+ShowString
            Loop

            Set rs = Nothing
  
            ShowFinalString=showtrack&" results:<br><br>"&ShowFinalString&"<br><a href=http://www.gpchampionship.com target=_blank>GPChampionship.com</a>"
     end if


strRet = "strCode='" & ShowFinalString & "'"
Response.Buffer = TRUE
Response.ContentType = "application/x-javascript"
Response.Write strRet
Response.End
%>


Vervolgens roep kan de partnersite deze pagina aanroepen met het javascriptje. Dit werkt idd heel erg fancy (niet optimaal, maar toch leuk) voor dit soort situaties.

Bedankt Syb! ;)

Jaap


Verwijderd

Nog een kleine aanvulling:

Je kunt je Query nog iets makkelijker (en sneller) maken

Kies Select Top x waar X je maximaal aantal resultaten is. Kun je de contructie met T uit je loop halen...

En eehhh je krijgt de groeten terug van Ricardo..
Pagina: 1