In MySQL zit er geen verschil tussen een LEFT JOIN en een LEFT OUTER JOIN.quote:Op zondag 1 augustus 2010 11:01 schreef Xcalibur het volgende:
Ja, dat kan.
Je moet dan een LEFT OUTER JOIN doen, met een WHERE id IS NOT NULL
PHP.net kent die functies niet?quote:Op zondag 1 augustus 2010 12:33 schreef GlowMouse het volgende:
Als je integers gebruikt en inet_ntoa/inet_aton, wat gebeurt er als je 127.10.10.254 met twe ophoogt?
Ik doe het altijd met een outer join, heb me nooit gerealiseerd dat het met een gewone join ook werktquote:Op zondag 1 augustus 2010 11:34 schreef Light het volgende:
[..]
In MySQL zit er geen verschil tussen een LEFT JOIN en een LEFT OUTER JOIN.
het leuke is dat ze niet compatible zijnquote:Op maandag 2 augustus 2010 07:30 schreef GI het volgende:
Het zijn dan ook MySQL functies
http://php.net/manual/en/function.ip2long.php
http://www.php.net/manual/en/function.long2ip.php
Zijn de PHP versies
Nietquote:Op maandag 2 augustus 2010 22:55 schreef GlowMouse het volgende:
[..]
het leuke is dat ze niet compatible zijn
Hmm, ik merk net dat om dit helemaal lekker te laten lopen je ook een !empty nodig hebt omdat een form ook de lege velden meestuurt.quote:Op dinsdag 27 juli 2010 15:02 schreef Light het volgende:
[..]
Die derde optie levert ook een notice op.
[ code verwijderd ]
Dat gaat wel goed.
Dan moet je isset weglaten. Beide gebruiken is in dit geval zinloos. (Ze zijn overigens niet elkaars tegengestelde.)quote:Op dinsdag 3 augustus 2010 10:21 schreef Sitethief het volgende:
[..]
Hmm, ik merk net dat om dit helemaal lekker te laten lopen je ook een !empty nodig hebt omdat een form ook de lege velden meestuurt.
MySQL gebruikt unsigned ints, ip2long gebruikt signed ints.quote:Op dinsdag 3 augustus 2010 07:30 schreef GI het volgende:
[..]
NietIk heb ze nooit gebruikt maar ging er vanuit dat ze gelijk zouden werken
1 2 3 4 5 6 7 8 9 | $allowed = array(1,2,3); if (in_array($_POST["var"], $allowed)) { $var = $_POST["var"]; } else { $var = $allowed[0]; } echo $var; |
Die is flauwquote:Op dinsdag 3 augustus 2010 11:07 schreef GlowMouse het volgende:
[..]
MySQL gebruikt unsigned ints, ip2long gebruikt signed ints.
Nog een leuke voor inputvalidatie, 'voorspel de output':
[ code verwijderd ]
Je had hem goedquote:
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
quote:Op dinsdag 3 augustus 2010 14:26 schreef webbyplus het volgende:
Kort vraagje; ik sla mijn dvd verzameling op in een textfile, inhoud ziet er ongeveer zo uit:
84|31-07-2010|Film|DVD5|Leap year
83|26-07-2010|Film|DVD5|Clash of the titans
82|26-07-2010|Film|DVD9|The Invention Of lying
81|25-07-2010|Film|DVD5|Hunter prey
80|25-07-2010|Film|DVD5|The karate kid
Nu wil ik aan de bovenkant van het bestand in php een extra regel toevoegen. Mijn vraag: Hoe doe ik dat? heb wat zitten googlen, maar er zijn maar weinig bruikbare script te vinden...
bvd
1 2 3 4 5 6 7 8 9 10 11 12 | $strFile = 'films.txt'; if(!is_file($strFile) || !is_readable($strFile) || !is_writable($strFile)) { die('Het bestand bestaat niet of is niet leesbaar/schrijfbaar!'); } $strContents = file_get_contents($strFile); $strContents = "12|12-03-2045|DVD9|Requiem for a Dream\r\n" . $strContents; file_put_contents($strFile, $strContents); ?> |
http://php.net/manual/en/function.fwrite.phpquote:[[Editors note: There is no "prepend" mode, you must essentially rewrite the entire file after prepending contents to a string. Perhaps you will use file(), modify, implode(), then fopen()/fwrite() it back]]
To put strings into the front of the file, you need to set place the pointer at the top of the file when openning the file with fopen(), see fopen() for more info.
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 | function xml2array($xml) { $xmlary = array(); $reels = '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s'; $reattrs = '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/'; preg_match_all($reels, $xml, $elements); foreach ($elements[1] as $ie => $xx) { $xmlary[$ie]["name"] = $elements[1][$ie]; if ($attributes = trim($elements[2][$ie])) { preg_match_all($reattrs, $attributes, $att); foreach ($att[1] as $ia => $xx) $xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia]; } $cdend = strpos($elements[3][$ie], "<"); if ($cdend > 0) { $xmlary[$ie]["text"] = substr($elements[3][$ie], 0, $cdend - 1); } if (preg_match($reels, $elements[3][$ie])) $xmlary[$ie]["elements"] = xml2array($elements[3][$ie]); else if ($elements[3][$ie]) { $xmlary[$ie]["text"] = $elements[3][$ie]; } } return $xmlary; } ?> |
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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | ( [0] => Array ( [name] => Aansluitingen [attributes] => Array ( [id] => Aansluitingen1 [rowOrder] => 0 ) [elements] => Array ( [0] => Array ( [name] => ContractRegelID [text] => 510 [elements] => Array ( [0] => Array ( [name] => MeterID [text] => 5988 [elements] => Array ( [0] => Array ( [name] => MeetDatum [text] => 2009-12-31T00:00:00+01:0 [elements] => Array ( [0] => Array ( [name] => SegmentNaam [text] => Gas ) [1] => Array ( [name] => SegmentID [text] => 27 ) [2] => Array ( [name] => HoogType [text] => gas ) [3] => Array ( [name] => Hoog [text] => 555 ) [4] => Array ( [name] => LaagType ) [5] => Array ( [name] => ContractRegelID [text] => 5105 ) [6] => Array ( [name] => MeterID [text] => 59880 ) ) ) [1] => Array ( [name] => SegmentNaam [text] => Gas ) [2] => Array ( [name] => SegmentID [text] => 27 ) [3] => Array ( [name] => HoogType [text] => gas ) [4] => Array ( [name] => Hoog [text] => 36787 ) [5] => Array ( [name] => LaagType ) [6] => Array ( [name] => ContractRegelID [text] => 5105 ) ) ) [1] => Array ( [name] => MeetDatum [text] => 2010-05-02T00:00:00+02:00 ) [2] => Array ( [name] => SegmentNaam [text] => Gas ) [3] => Array ( [name] => SegmentID [text] => 27 ) [4] => Array ( [name] => HoogType [text] => gas ) [5] => Array ( [name] => Hoog [text] => 243333 ) [6] => Array ( [name] => LaagType ) ) ) [1] => Array ( [name] => MeterID [text] => 59880 ) [2] => Array ( [name] => MeetDatum [text] => 2010-05-12T00:00:00+02:00 ) [3] => Array ( [name] => SegmentNaam [text] => Gas ) [4] => Array ( [name] => SegmentID [text] => 27 ) [5] => Array ( [name] => HoogType [text] => gas ) [6] => Array ( [name] => Hoog [text] => 34 ) [7] => Array ( [name] => LaagType ) ) ) |
Wat bedoel je precies met een nette array? Dit is een multidimensionale array.quote:
strtotime()quote:Op donderdag 5 augustus 2010 11:04 schreef Sitethief het volgende:
PHP heeft een hoop functies om met UNIX timestamps te rekenen en om te gaan. Maar ik moet nu met het MySQL TIME type gaan werken, en ik kan niet zo een twee drie vinden hoe PHP hier mee om gaat. Moet ik bijv. HH:MM:SS uit elkaar slopen voor ik er mee ga rekenen, of kan PHP hier native mee rekenen?
SELECT UNIX_TIMESTAMP(jouw_kolomnaam).quote:Op donderdag 5 augustus 2010 11:04 schreef Sitethief het volgende:
PHP heeft een hoop functies om met UNIX timestamps te rekenen en om te gaan. Maar ik moet nu met het MySQL TIME type gaan werken, en ik kan niet zo een twee drie vinden hoe PHP hier mee om gaat. Moet ik bijv. HH:MM:SS uit elkaar slopen voor ik er mee ga rekenen, of kan PHP hier native mee rekenen?
Dat is juist niet wat ik wil. Denk ik....quote:
quote:Op donderdag 5 augustus 2010 11:37 schreef Sitethief het volgende:
[..]
Dat is juist niet wat ik wil. Denk ik....
Ik heb begin en einde tijden voor werkdagen, ik wil dus bijv. weten dus weten hoeveel uren een bepaald persoon per week werkt Wat heb ik dan aan UNIX time? Deze uren staan als HHMMSS in de database. Zo dus:
actwtID 1
actwtClientID 13
actwtDag maandag
actwtStart 080000
actwtEinde 163000
1 2 3 4 5 6 | list($intStartHour, $intStartMinute, $intStartSecond) = str_split($arrRow['actwtStart'], 2); list($intEndHour, $intEndMinute, $intEndSecond) = str_split($arrRow['actwtEinde'], 2); $intDifference = $intEndHour * 3600 + $intEndMinute * 60 + $intEndSecond - $intStartHour * 3600 - $intStartMinute * 60 - $intEndSecond; $intHours = ceil($intDifference / 3600); ?> |
Hmm ja, dit is idd ongeveer wat ik bedoel. Bedankt!quote:Op donderdag 5 augustus 2010 11:38 schreef Trollface. het volgende:
[..]
[ code verwijderd ]
Als je direct in SQL zelf wilt doen kom je met SUBSTR() al een heel eind.
1 2 3 | $intHours = ceil($intDifference / 60); ?> |
Hmmja, dan wordt het lastig. MySQL kan zelf ook met TIME rekenen, voor zover ik weetquote:Op donderdag 5 augustus 2010 11:37 schreef Sitethief het volgende:
[..]
Dat is juist niet wat ik wil. Denk ik....
Ik heb begin en einde tijden voor werkdagen, ik wil dus bijv. weten dus weten hoeveel uren een bepaald persoon per week werkt Wat heb ik dan aan UNIX time? Deze uren staan als HHMMSS in de database. Zo dus:
actwtID 1
actwtClientID 13
actwtDag maandag
actwtStart 080000
actwtEinde 163000
Klopt, mijn excuses.quote:Op donderdag 5 augustus 2010 11:51 schreef Sitethief het volgende:
[..]
Hmm ja, dit is idd ongeveer wat ik bedoel. Bedankt!
[ code verwijderd ]
Is trouwens minuten en niet uren.
En als je alleen het verschil tussen twee tijdstippen wilt weten, kun je ook met de MySQL-functie TIMEDIFF() aan de slag.quote:Op donderdag 5 augustus 2010 12:22 schreef GlowMouse het volgende:
Wat een lelijke methoden. Als je alleen de uur en minuten nodig hebt, pak dan SELECT HOUR(col), MINUTE(col)
wat Light zegt dus
Het gaat hier om relatieve tijden. Die dus niet vastliggen op een datum. Anders had ik wel gewoon DATETIME gepaktquote:Op donderdag 5 augustus 2010 11:52 schreef Light het volgende:
[..]
Hmmja, dan wordt het lastig. MySQL kan zelf ook met TIME rekenen, voor zover ik weetEn anders was het misschien handiger om begintijd en eindtijd als DATETIME op te slaan. (Ook handig voor als iemand een keer tot na middernacht doorwerkt.)
Laat ze een rekensom oplossen, of een simpele vraag beantwoorden.quote:Op donderdag 5 augustus 2010 12:30 schreef boem-dikkie het volgende:
Ik heb een contactformulier en wil deze op de één of andere manier een beetje beveiligen tegen spam. Nou heb ik wat captcha oplossingen et cetera gevonden maar dit vind ik een beetje lelijk en irritant.
Zijn er ook betere manieren in te bouwen dat je spam een beetje tegen kunt gaan?
12:00:00 op een willekeurige dag kun je moeilijk in UNIX timestamp weergeven.quote:Op donderdag 5 augustus 2010 12:55 schreef Tuvai.net het volgende:
Ik heb nooit echt gebruik gemaakt van het DATETIME type in MySQL, UNIX timestamps zijn voor mij altijd voldoende geweest om te doen wat ik wil, en er is heel eenvoudig mee te rekenen.
Oh, op die manier.quote:Op donderdag 5 augustus 2010 12:58 schreef Sitethief het volgende:
[..]
12:00:00 op een willekeurige dag kun je moeilijk in UNIX timestamp weergeven.
quote:Op donderdag 5 augustus 2010 12:34 schreef Light het volgende:
[..]
En als je alleen het verschil tussen twee tijdstippen wilt weten, kun je ook met de MySQL-functie TIMEDIFF() aan de slag.
1 2 3 | SELECT TIMEDIFF(`actwtEinde`,`actwtStart`) FROM `act_werktijden` as verschil ?> |
Ja dat bedoel ik, hoe kan ik dan het beste een multidimensionale uitlezen in php?quote:Op donderdag 5 augustus 2010 11:06 schreef Sitethief het volgende:
[..]
Wat bedoel je precies met een nette array? Dit is een multidimensionale array.
Wil je de array plat maken? Dan verlies je wel bepaalde informatie denk ik.
Ja, en als je het oneindig diep uit wilt lezen moet je een recursieve functie maken.quote:Op donderdag 5 augustus 2010 15:13 schreef Likkende_Lassie het volgende:
[..]
Ja dat bedoel ik, hoe kan ik dan het beste een multidimensionale uitlezen in php?
Met een foreach dus.. ?
Thanks!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function doeIetsMetMultiDimensionaleArray($array){ if (count($array)>0) { foreach ( $array as $k=>$v ) { if ( is_array($v) ) { doeIetsMetMultiDimensionaleArray($v); } else { echo "Doe hier iets met deze waarde: ".$v."\n"; } } } } doeIetsMetMultiDimensionaleArray($xmlarray); ?> |
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 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | <soap:Body> <GetFacturenResponse xmlns="http://ncis.nl/CSSWebservices"> <GetFacturenResult> <xs:schema id="NewDataSet" targetNamespace="ncis" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:mstns="ncis" xmlns="ncis" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="ncis_x003A_Facturen" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Facturen"> <xs:complexType> <xs:sequence> <xs:element name="Result" type="xs:string" minOccurs="0"/> <xs:element name="Remark" type="xs:string" minOccurs="0"/> <xs:element name="ContractID" type="xs:int" minOccurs="0"/> <xs:element name="ContractRegelID" type="xs:int" minOccurs="0"/> <xs:element name="ReferentieID" type="xs:int" minOccurs="0"/> <xs:element name="FactuurID" type="xs:int" minOccurs="0"/> <xs:element name="Soort" type="xs:string" minOccurs="0"/> <xs:element name="Type" type="xs:string" minOccurs="0"/> <xs:element name="Verrekenbaar" type="xs:boolean" minOccurs="0"/> <xs:element name="Termijn" type="xs:int" minOccurs="0"/> <xs:element name="Jaar" type="xs:int" minOccurs="0"/> <xs:element name="Betaalwijze" type="xs:string" minOccurs="0"/> <xs:element name="Rekeningnummer" type="xs:string" minOccurs="0"/> <xs:element name="Media" type="xs:string" minOccurs="0"/> <xs:element name="BedragExcl" type="xs:decimal" minOccurs="0"/> <xs:element name="BedragIncl" type="xs:decimal" minOccurs="0"/> <xs:element name="FactuurBedragIncl" type="xs:decimal" minOccurs="0"/> <xs:element name="VervalDatum" type="xs:dateTime" minOccurs="0"/> <xs:element name="FactuurOpenstaandBedragIncl" type="xs:decimal" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <DocumentElement xmlns="ncis"> <Facturen diffgr:id="Facturen1" msdata:rowOrder="0"> <ContractID>xxxxx</ContractID> <FactuurID>631510</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>8</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_8_20100803.pdf</Media> <BedragExcl>1857200</BedragExcl> <BedragIncl>2210000</BedragIncl> <FactuurBedragIncl>2210000</FactuurBedragIncl> <VervalDatum>2010-08-17T00:00:00+02:00</VervalDatum> </Facturen> <Facturen diffgr:id="Facturen2" msdata:rowOrder="1"> <ContractID>xxxxx</ContractID> <FactuurID>627891</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>7</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_7_20100703.pdf</Media> <BedragExcl>1857200</BedragExcl> <BedragIncl>2210000</BedragIncl> <FactuurBedragIncl>2210000</FactuurBedragIncl> <VervalDatum>2010-07-19T00:00:00+02:00</VervalDatum> </Facturen> <Facturen diffgr:id="Facturen3" msdata:rowOrder="2"> <ContractID>xxxxx</ContractID> <FactuurID>620726</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>6</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_6_20100604.pdf</Media> <BedragExcl>1764800</BedragExcl> <BedragIncl>2100000</BedragIncl> <FactuurBedragIncl>2100000</FactuurBedragIncl> <VervalDatum>2010-06-18T00:00:00+02:00</VervalDatum> </Facturen> <Facturen diffgr:id="Facturen4" msdata:rowOrder="3"> <ContractID>xxxxx</ContractID> <FactuurID>617091</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>5</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_5_20100510.pdf</Media> <BedragExcl>1764800</BedragExcl> <BedragIncl>2100000</BedragIncl> <FactuurBedragIncl>2100000</FactuurBedragIncl> <VervalDatum>2010-05-24T00:00:00+02:00</VervalDatum> </Facturen> <Facturen diffgr:id="Facturen5" msdata:rowOrder="4"> <ContractID>xxxxx</ContractID> <FactuurID>613446</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>4</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_4_20100414.pdf</Media> <BedragExcl>1764800</BedragExcl> <BedragIncl>2100000</BedragIncl> <FactuurBedragIncl>2100000</FactuurBedragIncl> <VervalDatum>2010-04-28T00:00:00+02:00</VervalDatum> </Facturen> <Facturen diffgr:id="Facturen6" msdata:rowOrder="5"> <ContractID>xxxxx</ContractID> <FactuurID>610657</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>3</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_3_20100319.pdf</Media> <BedragExcl>1764800</BedragExcl> <BedragIncl>2100000</BedragIncl> <FactuurBedragIncl>2100000</FactuurBedragIncl> <VervalDatum>2010-04-02T00:00:00+02:00</VervalDatum> </Facturen> <Facturen diffgr:id="Facturen7" msdata:rowOrder="6"> <ContractID>xxxxx</ContractID> <FactuurID>608073</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>2</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_2.pdf</Media> <BedragExcl>1764700</BedragExcl> <BedragIncl>2100000</BedragIncl> <FactuurBedragIncl>2100000</FactuurBedragIncl> <VervalDatum>2010-03-04T00:00:00+01:00</VervalDatum> </Facturen> <Facturen diffgr:id="Facturen8" msdata:rowOrder="7"> <ContractID>xxxxx</ContractID> <FactuurID>603370</FactuurID> <Soort>Factuur</Soort> <Type>Voorschot</Type> <Verrekenbaar>true</Verrekenbaar> <Termijn>1</Termijn> <Jaar>2010</Jaar> <Betaalwijze>IC</Betaalwijze> <Rekeningnummer>XXXXXXX</Rekeningnummer> <Media>Voorschotfactuur_xxxxx_2010_1.pdf</Media> <BedragExcl>1789700</BedragExcl> <BedragIncl>2129700</BedragIncl> <FactuurBedragIncl>2129700</FactuurBedragIncl> <VervalDatum>2010-02-08T00:00:00+01:00</VervalDatum> </Facturen> </DocumentElement> </diffgr:diffgram> </GetFacturenResult> </GetFacturenResponse> </soap:Body> </soap:Envelope> |
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 | function xml2array($xml) { $xmlary = array(); $reels = '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s'; $reattrs = '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/'; preg_match_all($reels, $xml, $elements); foreach ($elements[1] as $ie => $xx) { $xmlary[$ie]["name"] = $elements[1][$ie]; if ($attributes = trim($elements[2][$ie])) { preg_match_all($reattrs, $attributes, $att); foreach ($att[1] as $ia => $xx) $xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia]; } $cdend = strpos($elements[3][$ie], "<"); if ($cdend > 0) { $xmlary[$ie]["text"] = substr($elements[3][$ie], 0, $cdend - 1); } if (preg_match($reels, $elements[3][$ie])) $xmlary[$ie]["elements"] = xml2array($elements[3][$ie]); else if ($elements[3][$ie]) { $xmlary[$ie]["text"] = $elements[3][$ie]; } } return $xmlary; } $result = soapCall('GetFacturen', array('sessieID' => $_SESSION['loginSession_ID'], 'Contractnummer' => $_SESSION['contractnummer'])); //lets put it in a readable array! $resultArray = xml2array($result->GetFacturenResult->any); ?> |
1 2 3 4 5 6 7 8 9 | $result = soapCall('GetFacturen', array('sessieID' => $_SESSION['loginSession_ID'], 'Contractnummer' => $_SESSION['contractnummer'])); $objDOM = new DOMDocument(); $objDOM->load($result); //make sure path is correct $Facturen = $objDOM->getElementsByTagName("Facturen"); print_r($Facturen); ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |