Toon posts:

[PHP+XML+MySQL] opvragen uit MySQL en omzetten XML

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een XML pagina te maken door aan een pagina een datum mee te geven, waarna van die datum de geplaatste orders van die dag in het XML doc worden gezet. Nu gebeurt het volgende, zeer vreemde.
Als ik de url intik (vb: mysql2xml?orderdate=2002-03-13) dan doet ie het wel
Roep ik de pagina aan vanuit een andere pagina, doet ie het niet. Doe ik daarna nog eens het eerste, dan doet dat het ook niet meer |:( :?

Hier is de code:
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
<?
    Header("Content-type: text/xml");
    print "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
    include("include/include.php");
    dbconn();
    $res = doquery("SELECT * FROM orders WHERE order_datum = $orderdate");
    echo "<orders>\n";
        while($result = mysql_fetch_row($res)){
            echo "\t<order>\n";
                echo "\t\t<orderid>$result[0]</orderid>\n";
                echo "\t\t<orderdatum>$result[1]</orderdatum>\n";
                echo "\t\t<artikelid>$result[2]</artikelid>\n";
                echo "\t\t<ordercardtext>$result[3]</ordercardtext>\n";
                echo "\t\t<orderafleverdatum>$result[4]</orderafleverdatum>\n";
                echo "\t\t<orderontvangernaam>$result[5]</orderontvangernaam>\n";
                echo "\t\t<orderontvangervoornaam>$result[6]</orderontvangervoornaam>\n";
                echo "\t\t<orderontvangerstraatnaam>$result[7]</orderontvangerstraatnaam>\n";
                echo "\t\t<orderontvangerhuisnr>$result[8]</orderontvangerhuisnr>\n";
                echo "\t\t<orderontvangerhuisnrextra>$result[9]</orderontvangerhuisnrextra>\n";
                echo "\t\t<orderontvangerpostcode>$result[10]</orderontvangerpostcode>\n";
                echo "\t\t<orderontvangerwoonplaats>$result[11]</orderontvangerwoonplaats>\n";
                echo "\t\t<orderafzendernaam>$result[12]</orderafzendernaam>\n";
                echo "\t\t<orderafzenderadres>$result[13]</orderafzenderadres>\n";
                echo "\t\t<orderafzenderpostcode>$result[14]</orderafzenderpostcode>\n";
                echo "\t\t<orderafzenderwoonplaats>$result[15]</orderafzenderwoonplaats>\n";
                echo "\t\t<orderafzendertelnr>$result[16]</orderafzendertelnr>\n";
                echo "\t\t<orderafzenderemail>$result[17]</orderafzenderemail>\n";
            echo "\t</order>\n";
        }
    echo "</orders>\n";
?>

ik krijg dan alleen maar te zien:
code:
1
2
  <?xml version="1.0" encoding="ISO-8859-1" ?> 
  <orders />

dus hij vindt op de een of andere manier niks... :(

P.S., ik heb het ook al geprobeert met HTTP_GET_VARS en HTTP_POST_VARS...

  • OzBoz
  • Registratie: Maart 2000
  • Laatst online: 09-09 19:36

OzBoz

.:.H.:.I.:.P.:.

move vanuit W&G > /14

My Fizion | My 3D prints | LinkedIn


Verwijderd

En als je $orderdate echo-ed laat hij wel altijd de juiste waarde zien?

Verwijderd

Topicstarter
Op woensdag 13 maart 2002 16:39 schreef Zef het volgende:
En als je $orderdate echo-ed laat hij wel altijd de juiste waarde zien?
Ja, das het vreemde :?.....,

Ik heb het ook als met een javascript alert gedaan, en toen liet ie gewoon 2002-03-12 zien

Verwijderd

In dat include bestand worden geen rare dingen gedaan met die variabele?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Ik vind het wel raar dat je geen begin-tag hebt <orders> alleen maar <orders/> is dat echt zo?

Probeer verder de datum eens tussen quotes te plaatsen. ('..')

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Op woensdag 13 maart 2002 16:47 schreef Orphix het volgende:
Ik vind het wel raar dat je geen begin-tag hebt <orders> alleen maar <orders/> is dat echt zo?
Dat doet IE automatisch, als je <order></order> hebt maakt ie er <order/> van.

Rustacean


Verwijderd

Topicstarter
Op woensdag 13 maart 2002 16:48 schreef Manuzhai het volgende:

[..]

Dat doet IE automatisch, als je <order></order> hebt maakt ie er <order/> van.
pcies ja.. en dr worden in het include bestand verder niks gedaan, daar komt alleen die dbconn() functie uit vandaan...

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Hoe bedoel je je roept hem op vanuit een andere pagina?

Hoe moet ik me dat voorstellen?

Dit heeft niks met het probleem te maken maar toch:
• Het is niet noodzakelijk om \t in je xml document te zetten
• select * from <TABLE> is niet echt gewaardeerd (traag, onduidelijk)
• Persoonlijk zou ik altijd mysql_fetch_array gebruiken en dan de results op naam uit printen. (veel duidelijker)
• Persoonlijk: Variable in een string gebruiken is not done.

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Op woensdag 13 maart 2002 16:54 schreef LuCarD het volgende:
Hoe bedoel je je roept hem op vanuit een andere pagina?

Hoe moet ik me dat voorstellen?

Dit heeft niks met het probleem te maken maar toch:
• Het is niet noodzakelijk om \t in je xml document te zetten
• select * from <TABLE> is niet echt gewaardeerd (traag, onduidelijk)
• Persoonlijk zou ik altijd mysql_fetch_array gebruiken en dan de results op naam uit printen. (veel duidelijker)
• Persoonlijk: Variable in een string gebruiken is not done.
Ik heb in een andere pagina een formulier, waarin je een datum kunt invullen (zoals 2002-03-13), dit wordt dan via een
code:
1
method="post" action="mysql2xml.php?orderdate=$orderdate"

naar deze pagina gestuurd.
Ik gebruik nu btw fetch_row, omdat ik haast had
{typen sucks :P )

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als je invloed hebt op je XML formaat zou ik daar ook maar even wat aan doen...

dit is echt vrij ranzig:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<order>
    <orderid>...</orderid>
    <orderdatum>...</orderdatum>
    <artikelid>...</artikelid>
    <ordercardtext>...</ordercardtext>
    <orderafleverdatum>...</orderafleverdatum>
    <orderontvangernaam>...</orderontvangernaam>
    <orderontvangervoornaam>...</orderontvangervoornaam>
    <orderontvangerstraatnaam>...</orderontvangerstraatnaam>
    <orderontvangerhuisnr>...</orderontvangerhuisnr>
    <orderontvangerhuisnrextra>...</orderontvangerhuisnrextra>
    <orderontvangerpostcode>...</orderontvangerpostcode>
    <orderontvangerwoonplaats>...</orderontvangerwoonplaats>
    <orderafzendernaam>...</orderafzendernaam>
    <orderafzenderadres>...</orderafzenderadres>
    <orderafzenderpostcode>...</orderafzenderpostcode>
    <orderafzenderwoonplaats>...</orderafzenderwoonplaats>
    <orderafzendertelnr>...</orderafzendertelnr>
    <orderafzenderemail>...</orderafzenderemail>
</order>

Beter is bijvoorbeeld al dit:
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
<order>
    <id>...</id>
    <datum>...</datum>
    <artikelid>...</artikelid>
    <cardtext>...</cardtext>
    <afleverdatum>...</afleverdatum>

    <ontvanger>
      <naam>
        <voornaam>...</voornaam>
        <achternaam>...</achternaam>
      </naam>

      <adres>
        <straatnaam>...</straatnaam>
        <huisnr>...</huisnr>
        <huisnrextra>...</huisnrextra>
        <postcode>...</postcode>
        <woonplaats>...</woonplaats>
      </adres>
    </ontvanger>

    <afzender>
      <naam>
        <voornaam>...</voornaam>
        <achternaam>...</achternaam>
      </naam>

      <adres>
        <straatnaam>...</straatnaam>
        <huisnr>...</huisnr>
        <huisnrextra>...</huisnrextra>
        <postcode>...</postcode>
        <woonplaats>...</woonplaats>
      </adres>
    
      <telnr>...</telnr>
      <email>...</email>
    <afzender>
</order>

Verder kan je je XML bijvoorbeeld opbouwen met een DOM. Je hoeft je dan niet met de syntaxtische details van XML bezig te houden. Ook kan je kiezen voor het afvuren van SAX events, wat veel beter performance zal opleveren en ook best makkelijk is :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Op woensdag 13 maart 2002 16:58 schreef partyganger het volgende:

[..]
code:
1
method="post" action="mysql2xml.php?orderdate=$orderdate"

Ik gebruik nu btw fetch_row, omdat ik haast had
{typen sucks :P )
Ermmm ziet jouw action er echt zo uit?

Programmer - an organism that turns coffee into software.


Verwijderd

Topicstarter
Op woensdag 13 maart 2002 17:00 schreef mbravenboer het volgende:
Als je invloed hebt op je XML formaat zou ik daar ook maar even wat aan doen...

dit is echt vrij ranzig:
code:
1
2
3
<order>
 [knip]xml lijst [/knip]
</order>

Verder kan je je XML bijvoorbeeld opbouwen met een DOM. Je hoeft je dan niet met de syntaxtische details van XML bezig te houden. Ook kan je kiezen voor het afvuren van SAX events, wat veel beter performance zal opleveren en ook best makkelijk is :) .
Ik weet het, maar zoals ik zei, ik had haast..., heb ff snel copy-paste gedaan....

nu hoeft dat dus niet meer >:) thnx...

En ja, zo ziet mn action eruit, ik ben vrij nieuw op PHP gebied, but what's wrong with it .....

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Op woensdag 13 maart 2002 17:00 schreef LuCarD het volgende:

[..]

Ermmm ziet jouw action er echt zo uit?
Dat is inderdaad niet echt optimaal... :+

Rustacean


Verwijderd

Op woensdag 13 maart 2002 17:04 schreef Manuzhai het volgende:

[..]

Dat is inderdaad niet echt optimaal... :+
idd, lekker nutteloos om daar dan een formulier van te maken :z

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

probeer dit eens
code:
1
2
3
4
5
6
7
8
<HTML>
<BODY>
<FORM ACTION="mysql2xml.php" METHOD="POST">
orderdate:<INPUT TYPE="TEXT" NAME="orderdate" /><BR />
<INPUT TYPE="SUBMIT" />
</FORM>
</BODY>
</HTML>

Programmer - an organism that turns coffee into software.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
partyganger: Ik weet het, maar zoals ik zei, ik had haast... heb ff snel copy-paste gedaan....
Haast en onbekendheid met de technieken die je gebruikt zijn de standaard ingredienten voor een chaotische en waarschijnlijk slecht functionerende oplossing...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • pistole
  • Registratie: Juli 2000
  • Laatst online: 11:30

pistole

Frutter

Op woensdag 13 maart 2002 16:32 schreef partyganger het volgende:[code]<?
$res = doquery("SELECT * FROM orders WHERE order_datum = $orderdate");
Ik denk dat je quotes om je datum moet zetten, in de query

Ik frut, dus ik epibreer


Verwijderd

Topicstarter
Op woensdag 13 maart 2002 17:07 schreef LuCarD het volgende:
probeer dit eens
code:
1
2
3
4
5
6
7
8
<HTML>
<BODY>
<FORM ACTION="mysql2xml.php" METHOD="POST">
orderdate:<INPUT TYPE="TEXT" NAME="orderdate" /><BR />
<INPUT TYPE="SUBMIT" />
</FORM>
</BODY>
</HTML>
stom stom stom |:( |:(
what was I thinking ..... :9

Verwijderd

Op woensdag 13 maart 2002 20:47 schreef partyganger het volgende:

[..]

stom stom stom |:( |:(
what was I thinking ..... :9
Daar kon je bij mijn eerste reply al achter zijn :z

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Op woensdag 13 maart 2002 17:00 schreef mbravenboer het volgende:
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
<order>
    <id>...</id>
    <datum>...</datum>
    <artikelid>...</artikelid>
    <cardtext>...</cardtext>
    <afleverdatum>...</afleverdatum>

    <ontvanger>
      <naam>
        <voornaam>...</voornaam>
        <achternaam>...</achternaam>
      </naam>

      <adres>
        <straatnaam>...</straatnaam>
        <huisnr>...</huisnr>
        <huisnrextra>...</huisnrextra>
        <postcode>...</postcode>
        <woonplaats>...</woonplaats>
      </adres>
    </ontvanger>

    <afzender>
      <naam>
        <voornaam>...</voornaam>
        <achternaam>...</achternaam>
      </naam>

      <adres>
        <straatnaam>...</straatnaam>
        <huisnr>...</huisnr>
        <huisnrextra>...</huisnrextra>
        <postcode>...</postcode>
        <woonplaats>...</woonplaats>
      </adres>
    
      <telnr>...</telnr>
      <email>...</email>
    <afzender>
</order>
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
<order>
    <id>...</id>
    <datum>...</datum>
    <artikelid>...</artikelid>
    <cardtext>...</cardtext>
    <afleverdatum>...</afleverdatum>

    <persoon type="ontvanger">
      <naam>
        <voornaam>...</voornaam>
        <achternaam>...</achternaam>
      </naam>

      <adres>
        <straatnaam>...</straatnaam>
        <huisnr>...</huisnr>
        <huisnrextra>...</huisnrextra>
        <postcode>...</postcode>
        <woonplaats>...</woonplaats>
      </adres>

        <telnr>...</telnr>
      <email>...</email>
    </persoon>

    <persoon type="afzender">
      <naam>
        <voornaam>...</voornaam>
        <achternaam>...</achternaam>
      </naam>

      <adres>
        <straatnaam>...</straatnaam>
        <huisnr>...</huisnr>
        <huisnrextra>...</huisnrextra>
        <postcode>...</postcode>
        <woonplaats>...</woonplaats>
      </adres>
    
      <telnr>...</telnr>
      <email>...</email>
    </persoon>
</order>

Zou dit dan niet beter zijn, eigenlijk?

Rustacean

Pagina: 1