Avatar billede farving Nybegynder
12. november 2006 - 13:23 Der er 8 kommentarer og
1 løsning

XML og MySQL database indhold

Hej eksperter

Jeg sidder og roder med et lille problem, da jeg vil til at lave en lille side.

Til den skal jeg ku hente indholdet fra en XML-fil og skrive det ind i en table, desuden skal jeg have data fra min MySQL database flettet ind og grupperet alt efter hvor langt jeg er i læsningen af XML-filen...

Mit største spørgsmål er hvordan det nemmest, bedst og hurtigst kan laves?

Jeg har overvejet at gøre det med Javascript og bruge ASP til at tilskrive MySQL-databasens indhold til et Javascript array, men det jeg kan finde om XML til Javascript har jeg svært ved at gennemskue hvordan jeg får indholdet fra min MySQL blandet ind
http://www.webreference.com/programming/javascript/definitive2/index.html

En anden mulighed var at bruge ASP.NET, her er mit problem så at jeg ikke rigtigt har fået tid til at arbejde med det endnu og derfor kommer til at bruge meget tid på at lære det hen ad vejen, men her burde det dog være nemmere at arbejde med repeaters og containers?

Tredje mulighed jeg er lidt afvisnende for er ASP (da jeg gerne vil udvikle mig til .NET), men her ved jeg ikke hvordan XML håndteres...

Nogen der kan give mig et clue på hvor det er bedst at starte og evt et godt link der er let forståeligt... Det jeg har fundet indtil videre smasker bare op hvordan det oprettes og udskrives, men ikke rigtigt hvorfor og hvor...

Mvh Carsten
Avatar billede roenving Novice
13. november 2006 - 01:26 #1
Hvis du alligevel på er på vej til .NET kan du ligesågodt tage fat i serializing !-)

-- hvis dit projekt går ud på at integrere noget AJAX el. lign. skal du selvfølgelig benytte dig af en javascript-baseret model, men det lyder ikke som det indlysende, hvis du starter med at tænke i en server-baseret løsning ...
Avatar billede farving Nybegynder
13. november 2006 - 19:49 #2
Serializing?

Og nej er slet ikke på vej ind i noget AJAX, det skal være server-baseret

Mvh Carsten
Avatar billede roenving Novice
16. november 2006 - 01:40 #3
Serializing er processen, hvor data indlejret i et objekt repræsenteres i et xml-dokument:

Objekt Firma, properties:
Navn, Adresse og Ansatte

Objekt Adresse, properties:
adresse1, adresse2, adresse3, vej, nummer (inc. sal mv.), postnr, by, land

Objekt Ansatte, properties:
Array: Ansat

Objekt Ansat, properties:
Navn, Titel

XML-dokument:

<xml ...>
<Firma>
  <Navn>...</Navn>
  <Adresse>
    <adresse1>...</adresse1>
    <adresse2>...</adresse2>
    ...
  </Adresse>
  <Ansatte>
    <Ansat>
      <Navn>...</Navn>
      <Titel>...</Titel>
    </Ansat>
    <Ansat>
      <Navn>...</Navn>
      <Titel>...</Titel>
    </Ansat>
    ...
  </Ansatte>
</Firma>

-- en anden ting er, at det måske vil være klogere at tænke i JSON (javascript object notation), hvis det skal bruges til at servere data, der skal bruges af javascript, så kunne det f.eks. blive til:

var Firma = [];
Firma[Firma.length] = {
  Navn:"...",
  Adresse:{
    adresse1:"...",
    adresse2:"...",
    ...
  },
  Ansatte:{
    {Navn:"...",Titel:"..."},
    {Navn:"...",Titel:"..."},
    ...
  }
}

-- og i ovenstående har jeg været doven med antallet af gåseøjne, da det er muligt at støde ind i (mange !-) problemer at udelade dem om property-navne, f.eks. Ansatte, som nok burde være "Ansatte" ...

-- problemerne opstår, hvis en property tilfældigvis har et navn, der eksiterer som javascript-variabel inde for samme sfære ...

Absolut skrevet lige fra tanken til hånden og derfor hverken checket på den ene eller anden måde !o]
Avatar billede farving Nybegynder
16. november 2006 - 19:09 #4
Well jeg ved godt hvordan jeg opbygger XML documentet og jeg kan sådan set godt nogenlunde få dataene trukket ud med JS nu...

Men spørgsmålet går på hvad der er lettest? Lære den del jeg skal bruge i .NET og opbygge det med repeaters, bygge det i JS hvor database dataene bliver tilskrevet vha ASP og xml hentes via XmlHttpRequest...

Mvh Carsten
Avatar billede roenving Novice
16. november 2006 - 23:48 #5
-- i det øverste eksempel med serializing, kan du i eet hug flytte en hel datastruktur til et xml-dokument (dvs. uden at bruge repeaters, medmindre du vil bruge dem til at opbygge datastrukturen !-)

-- koden til at skabe hele xml-dokumentet fylder 3 linjer !o]

-- men du skal selvfølgelig have objekterne færdigskabt med data først ...

-- og jeg ville nok tænke i, at flytte så meget arbejde ud i klienten, hvor der jo står en pc, der strutter af uforbrugte ressourcer, mens serveren får færdigbearbejdet forespørgslen, så det ville blive en ren datatransport, og så få js til at opbygge visningen, altså ajax !-)
Avatar billede farving Nybegynder
16. november 2006 - 23:53 #6
Du mener at når brugeren klikker ind på en på hjemmesiden så skal dataene fra SQL databasen hentes ned i et xml document samtidigt med at de andre elementer fra det andet XML document skal lægges ind også?

Og så udskrive det med ajax...

Mvh Carsten
Avatar billede farving Nybegynder
29. november 2006 - 20:55 #7
Jeg har ikke fået løst præcis denne opgave endnu, men en tilsvarende hvor jeg har brugt XML, sikkert på en forkert måde, men sådan er det nu engang...

I kan se det her: http://carsten.farving.dk/testXML.html

Smid et svar så får du et par point med på vejen

Mvh Carsten
Avatar billede roenving Novice
01. december 2006 - 15:32 #8
Oki '-)

-- må lige kigge på dit eksempel en anden dag, tiden mangler lige nu ...
Avatar billede farving Nybegynder
03. december 2006 - 13:52 #9
Bare i orden

Mvh Carsten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester