Xml data in Table

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Frank -

Frank -

28/03/2008 16:17:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
Prijzen
Aantal Omschrijving Prijs Subtotaal
2 Schoolreisje kind 37
1 Schoolreisje volwassene 18,5
Totaal: NaN

NaN is inderdaad de melding die je krijgt wanneer je strings bijelkaar gaat optellen. Verander je de komma in een punt, dan zul je een keurig resultaat krijgen.

Vandaar dat het handig is om de XML-input eerst met een XMLschema te gaan valideren. Jouw datum, 28-03-2008, ziet er bv. ook niet uit als een datum, dan zou het toch echt 2008-03-28 moeten zijn. Zie http://w3schools.com/schema/schema_dtypes_date.asp

Offtopic: Ik lag zelf ook net met XML te stoeien, m'n PostgreSQL-database kan dit namelijk zelf aanmaken en retour geven. Dat maakt interactie met andere systemen, RSS en AJAX allemaal bijzonder eenvoudig. Dan nog net even een stapje verder gaan en ook de xHTML aanmaken met XSLT-templates, maakt het nog fraaier. De hoeveelheid PHP-code neemt ook drastisch af, scheelt weer in de mogelijke bugs.
 
PHP hulp

PHP hulp

28/11/2024 12:44:55
 
Boee

boee

30/03/2008 23:17:00
Quote Anchor link
Is het hiermeer ook mogelijk om een dropdown menu te creeren?.
En is het dan ook mogelijk om de geselecteerde gegevens als sessie op te slaan ?

Bijv ID en Naam van het geselecteerde uit het dropdown menu.

Is dit mogelijk met xsl of is dit beter zonder xsl ?
 
Frank -

Frank -

30/03/2008 23:28:00
Quote Anchor link
@Boee: Tuurlijk kan dat, is met xslt een fluitje van een cent. Je kunt het ook zonder xslt doen, maar ik vind dat zelf wat omslachtiger.
 
Boee

boee

31/03/2008 10:40:00
Quote Anchor link
XML:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<DATA>
    <RESULT>
      <ARRANGEMENTEN>
        <ARRANGEMENT>
          <IDARRANGEMENT>1020</IDARRANGEMENT>
          <NUMMER>1000</NUMMER>
          <CODE>Naam1</CODE>
          <OMSCHRIJVING>Naam1</OMSCHRIJVING>
          <MAX_PERSONEN>50</MAX_PERSONEN>
        </ARRANGEMENT>
        <ARRANGEMENT>
          <IDARRANGEMENT>1030</IDARRANGEMENT>
          <NUMMER>1010</NUMMER>
          <CODE>Naam2</CODE>
          <OMSCHRIJVING>Naam2</OMSCHRIJVING>
          <MAX_PERSONEN>50</MAX_PERSONEN>
        </ARRANGEMENT>
       </ARRANGEMENTEN>
    </RESULT>
  </DATA>


Mijn XSLT template zou dus hiervan een dropdown menu moeten maken, zodra ik Naam1 selecteer hij automatisch IDARRANGEMENT, CODE, en NUMMER ook meeneemt zodat ik die in een sessie kan zetten dat ik deze kan gebruiken op een volgende pagina.

Na wat speurwerk heb ik op internet wel wat XSLT dropdowns gevonden maar nog niks wat in staat is om dit te doen.

Vandaar dat ik hier vraag of dit wel mogelijk is en hoe dit eruit komt te zien ?.

Mvg,
Boee
 
Joren de Wit

Joren de Wit

31/03/2008 10:56:00
Quote Anchor link
Dat gaat vrij lastig worden en zal je waarschijnlijk al in een Javascript/AJAX oplossing drijven waarin je de content van hidden fields moet gaan aanpassen.

Veel makkelijker is het waarschijnlijk om de gewoon de naam (of eventueel het id) met het formulier te verzenden en dan tijdens de verwerking de benodigde gegevens uit je XML file te lezen...
 
Boee

boee

31/03/2008 13:44:00
Quote Anchor link
Dus de Omschrijving in het dropdown menu zetten.
En zodra ik op next druk in mijn form hij weer gaat checken wat alle gegevens waren van de geselecteerde Omschrijving en die opslaat in losse sessie namen ?

Nu vraag ik me af hoe ik in xslt een foreach Omschrijving in een dropdown krijg.(en/of mogelijk value IDARRANGEMENT)

Volledige XML:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<DOCUMENT>
  <NUMBER>55</NUMBER>
  <VERSION>1</VERSION>
  <HEADER>
    <RESPONSE>
      <DATUM>27-03-2008</DATUM>
      <TIJD>9:53:37</TIJD>
    </RESPONSE>
  </HEADER>
  <DATA>
    <RESULT>
      <ARRANGEMENTEN>
        <ARRANGEMENT>
          <IDARRANGEMENT>1030</IDARRANGEMENT>
          <NUMMER>1000</NUMMER>
          <CODE>Naam2</CODE>
          <OMSCHRIJVING>Naam2</OMSCHRIJVING>
          <MAX_PERSONEN>50</MAX_PERSONEN>
        </ARRANGEMENT>
<ARRANGEMENTEN>
        <ARRANGEMENT>
          <IDARRANGEMENT>1020</IDARRANGEMENT>
          <NUMMER>1010</NUMMER>
          <CODE>Naam1</CODE>
          <OMSCHRIJVING>Naam1</OMSCHRIJVING>
          <MAX_PERSONEN>50</MAX_PERSONEN>
        </ARRANGEMENT>
      </ARRANGEMENTEN>
    </RESULT>
  </DATA>
  <CONTROL>
    <STATUS>
      <CODE>OK</CODE>
      <MESSAGE>OK</MESSAGE>
    </STATUS>
  </CONTROL>
</DOCUMENT>
Gewijzigd op 01/01/1970 01:00:00 door boee
 
Frank -

Frank -

31/03/2008 15:20:00
Quote Anchor link
De XML is niet goed, zie <ARRANGEMENTEN>. Deze open je 2 x (regel 13 en 21), maar sluit je slechts 1x (regel 29).

Ik neem aan dat het openen op regel 21 fout is, dat zou wel zo logisch zijn.
 
Frank -

Frank -

31/03/2008 15:45:00
Quote Anchor link
Wanneer je regel 21 uit de XML verwijdert, <ARRANGEMENTEN>, zou je met de volgende XSLT kunnen werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    
    <xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
        doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" indent="yes" omit-xml-declaration="no" xml:lang="nl"/>
    
    <xsl:template match="/DOCUMENT/DATA/RESULT/ARRANGEMENTEN">
        <htm>
            <head>
                <title>Options</title>
            </head>
            <body>
                <form action="">
                <select>
        <xsl:for-each select="ARRANGEMENT">
            <xsl:variable name="option_value" select="IDARRANGEMENT"/>
            
            <option value="{$option_value}"><xsl:value-of select="OMSCHRIJVING"/></option>
        </xsl:for-each>
                </select>
                    <button type="submit">Verzenden</button>
                </form>
            </body>
        </htm>
    </xsl:template>
    
</xsl:stylesheet>

Dat levert dit resultaat op:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
   <head>
      <title>Options</title>
   </head>
   <body>
      <form action="">
         <select>
            <option value="1030">Naam2</option>
            <option value="1020">Naam1</option>
         </select>
         <button type="submit">Verzenden</button>
      </form>
   </body>
</html>

Aanpassen aan je eigen behoeftes en klaar ben je.
 
Boee

boee

31/03/2008 16:09:00
Quote Anchor link
pgFrank schreef op 31.03.2008 15:45:
Wanneer je regel 21 uit de XML verwijdert, <ARRANGEMENTEN>, zou je met de volgende XSLT kunnen werken:
.

Vriendelijk bedankt nogmaals voor de snelle correcte response op mijn vragen.

idd <ARRANGEMENTEN> was dubbel omdat ik die zelf had aangemaakt met wat knip en plak werk.

is het hiermee ook mogelijk als ik bijv 3-4arrangementen terug krijg dat ik ze allemaal laat zien ?, of moet ik die appart er dan bijzetten.

Mvg
Boee
 
Boee

boee

01/04/2008 09:58:00
Quote Anchor link
mod-edit::
Bumpen
Twee of meer keer achter elkaar in een topic posten, voordat andere forumleden gereageerd hebben, heet "bumpen". Omdat het opdringerig overkomt is bumpen pas na 24 uur toegestaan. Bumpen kan een reden zijn voor de admins en mods om een topic te sluiten. Gebruik het Afbeelding knopje om je tekst aan te passen indien nodig.

Html

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?xml version="1.0"?>
<!DOCTYPE htm PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

  55
  1
  
    
      27-03-2008
      9:53:37
    
  
  
    
      <htm>
  <head>
    <title>Options</title>
  </head>
  <body>
    <form action="">
      <select>
        <option value="1018">Schoolreisje I</option>
        <option value="1011">test</option>
      </select>
      <button type="submit">Verzenden</button>
    </form>
  </body>
</htm>

raar genoeg laat hij ook de rest van de gegevens nu zien.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
55 1 27-03-2008 9:53:37
 Schoolreisje I testVerzenden
OK OK
Gewijzigd op 01/01/1970 01:00:00 door boee
 
Frank -

Frank -

01/04/2008 10:55:00
Quote Anchor link
Tikfoutje.... <htm> mag worden <html>. Uiteraard moet je deze ook weer even correct afsluiten.
 
Boee

boee

01/04/2008 13:59:00
Quote Anchor link
pgFrank schreef op 01.04.2008 10:55:
Tikfoutje.... <htm> mag worden <html>. Uiteraard moet je deze ook weer even correct afsluiten.

pff dat ik dat zelf niet had gezien. dom dom dom :P
 
Boee

boee

04/04/2008 00:58:00
Quote Anchor link
[verwijderd]
Gewijzigd op 01/01/1970 01:00:00 door boee
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.