Gegevens uit webservice ophalen
Beste lezer,
Kan wel de webservice benaderen maar de gegevens kan ik niet ophalen en als ik
var_dump gebruik krijg ik deze zo te zien:
http://19-------/:tempuri-orgarray(2) { ["klantgegevens"]=> array(1) { [0]=> object(stdClass)#2 (7) { ["klantnr"]=> int(552066) ["afleveradres"]=> int(5520665) ["naam"]=> string(29) "-- "---"" ["adres"]=> string(12) "---" ["postcode"]=> string(7) "------" ["plaats"]=> string(4) "----" ["land"]=> string(2) "NL" } } ["artikelgegevens"]=> array(5) {[0]=> object(stdClass)#3 (7) { ["zendnota"]=> int(129593) ["picknr"]=> int(157333) ["ordernr"]=> int(150867) ["artnr"]=> string(6) "343211"
En als var_dump weghaal en foreach gebruik krijg niks te zien.
Wat is mis. Graag uw hulp.
Alvast bedankt!
Ik gebruik de volgende scripts
<html>
<body>
<form action="#" method="post">
Ritnummer: <input type="text" name="ordernr" />
Land: <input type="text" name="land" />
<input type="submit" value="Volgende"/>
</form>
</body>
</html>
Kan wel de webservice benaderen maar de gegevens kan ik niet ophalen en als ik
var_dump gebruik krijg ik deze zo te zien:
http://19-------/:tempuri-orgarray(2) { ["klantgegevens"]=> array(1) { [0]=> object(stdClass)#2 (7) { ["klantnr"]=> int(552066) ["afleveradres"]=> int(5520665) ["naam"]=> string(29) "-- "---"" ["adres"]=> string(12) "---" ["postcode"]=> string(7) "------" ["plaats"]=> string(4) "----" ["land"]=> string(2) "NL" } } ["artikelgegevens"]=> array(5) {[0]=> object(stdClass)#3 (7) { ["zendnota"]=> int(129593) ["picknr"]=> int(157333) ["ordernr"]=> int(150867) ["artnr"]=> string(6) "343211"
En als var_dump weghaal en foreach gebruik krijg niks te zien.
Wat is mis. Graag uw hulp.
Alvast bedankt!
Ik gebruik de volgende scripts
<html>
<body>
<form action="#" method="post">
Ritnummer: <input type="text" name="ordernr" />
Land: <input type="text" name="land" />
<input type="submit" value="Volgende"/>
</form>
</body>
</html>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
ini_set("soap.wsdl_cache_enabled", 0);
$webservice_server = "----";
$webservice_connection_string = "http://".$webservice_server.":---------";
echo $webservice_connection_string;
$client = new SoapClient( $webservice_connection_string, array( 'soap_version' => SOAP_1_1 ) );
$ritnummers = $client->verzamelfoutformulier($_POST["land"], $_POST["ordernr"]);
foreach ($ritnummers as $verzamelfoutformulier) {
echo "<td align='center'>".$ritnummers->klantnr."</td><td align='center'>".$ritnummers->afleveradres."</td><td align='center'>".$ritnummers->naam."</td><td>".$ritnummers->postcode."</td><td align='center'>".$ritnummers->plaats."</td><td align='center'>".$ritnummers->picknr."</td><td align='center'>".$ritnummers->artomschr."</td></tr>";
}
}
?>
if( $_SERVER['REQUEST_METHOD'] == "POST" ) {
ini_set("soap.wsdl_cache_enabled", 0);
$webservice_server = "----";
$webservice_connection_string = "http://".$webservice_server.":---------";
echo $webservice_connection_string;
$client = new SoapClient( $webservice_connection_string, array( 'soap_version' => SOAP_1_1 ) );
$ritnummers = $client->verzamelfoutformulier($_POST["land"], $_POST["ordernr"]);
foreach ($ritnummers as $verzamelfoutformulier) {
echo "<td align='center'>".$ritnummers->klantnr."</td><td align='center'>".$ritnummers->afleveradres."</td><td align='center'>".$ritnummers->naam."</td><td>".$ritnummers->postcode."</td><td align='center'>".$ritnummers->plaats."</td><td align='center'>".$ritnummers->picknr."</td><td align='center'>".$ritnummers->artomschr."</td></tr>";
}
}
?>
Waar worden deze gegevens opgeslagen?
Want nu wordt alles in een array gezet, maar wat gebeurd er daarna met je gegevens?
Want nu wordt alles in een array gezet, maar wat gebeurd er daarna met je gegevens?
De gegevens worden in database opgeslagen.
Wil graag dat ik als een ritnummer invul dan de gegevens laten zien die ik heb laten echo'en. Nu vul ik ritnummer maar ik krijg allen dit te zien
http://19-------/:tempuri-org
Wil graag dat ik als een ritnummer invul dan de gegevens laten zien die ik heb laten echo'en. Nu vul ik ritnummer maar ik krijg allen dit te zien
http://19-------/:tempuri-org
Dan zou ik gewoon een query draaien nadat het is ingevoegd in je database. Zo weet je ook zeker dat het in de db staat, en niet alleen in de array.
Dus na de insert, select je gewoon het record met je ritnummer en echo je deze op het scherm waar je het wilt hebben.
Dus na de insert, select je gewoon het record met je ritnummer en echo je deze op het scherm waar je het wilt hebben.
Ik moet nu insert into en select gebruiken i.p.v foreach??
Murtada Helo op 03/08/2012 13:10:00:
Ik moet nu insert into en select gebruiken i.p.v foreach??
Je moet altijd een insert doen als je data in een database wilt zetten. Nu staat het in een array, maar wordt volgens mij niets mee gedaan.
Wat zie je in die database?
waar komt dit vandaan?
en dan bedoel k klantnr, afleveradres etc ... ?
doe is gewoon $ritnummers['klantnr']
Code (php)
1
2
3
2
3
<?php
echo "<td align='center'>".$ritnummers->klantnr."</td><td align='center'>".$ritnummers->afleveradres."</td><td align='center'>".$ritnummers->naam."</td><td>".$ritnummers->postcode."</td><td align='center'>".$ritnummers->plaats."</td><td align='center'>".$ritnummers->picknr."</td><td align='center'>".$ritnummers->artomschr."</td></tr>";
?>
echo "<td align='center'>".$ritnummers->klantnr."</td><td align='center'>".$ritnummers->afleveradres."</td><td align='center'>".$ritnummers->naam."</td><td>".$ritnummers->postcode."</td><td align='center'>".$ritnummers->plaats."</td><td align='center'>".$ritnummers->picknr."</td><td align='center'>".$ritnummers->artomschr."</td></tr>";
?>
en dan bedoel k klantnr, afleveradres etc ... ?
doe is gewoon $ritnummers['klantnr']
Volgens mij is dat verhaal over het in de database steken heel interessant, maar ik denk dat het goed is als je eerst de structuur van de data de je hebt goed doorkrijgt. Zoels je de var_dump laat zien en het dan probeert aan te spreken gaat volgens mij niet werken. Even een uitgewerkte weergave van je vardump:
(waarbij aan het einde dus wel wat haakjes ontbreken en vast nog meer data ook)
Als je dus de klantgegevens wilt aanspreken zal je dat zo moeten doen:
$ritnummers is namelijk een array met twee keys (klantgegevens en artikelgegevens).
$ritnummers["klantgegevens"] is dan ook weer een array met maar 1 numerieke key.
Elk element in die laatste array is weer een object.
Kijk eens of je op deze manier wel iets op het scherm krijgt. Als je het op het scherm krijgt kan je ook verwerken in de database.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
array(2) {
["klantgegevens"]=> array(1) {
[0]=> object(stdClass)#2 (7) {
["klantnr"]=> int(552066)
["afleveradres"]=> int(5520665)
["naam"]=> string(29) "-- "---""
["adres"]=> string(12) "---"
["postcode"]=> string(7) "------"
["plaats"]=> string(4) "----"
["land"]=> string(2) "NL"
}
}
["artikelgegevens"]=> array(5) {
[0]=> object(stdClass)#3 (7) {
["zendnota"]=> int(129593)
["picknr"]=> int(157333)
["ordernr"]=> int(150867)
["artnr"]=> string(6) "343211"
["klantgegevens"]=> array(1) {
[0]=> object(stdClass)#2 (7) {
["klantnr"]=> int(552066)
["afleveradres"]=> int(5520665)
["naam"]=> string(29) "-- "---""
["adres"]=> string(12) "---"
["postcode"]=> string(7) "------"
["plaats"]=> string(4) "----"
["land"]=> string(2) "NL"
}
}
["artikelgegevens"]=> array(5) {
[0]=> object(stdClass)#3 (7) {
["zendnota"]=> int(129593)
["picknr"]=> int(157333)
["ordernr"]=> int(150867)
["artnr"]=> string(6) "343211"
(waarbij aan het einde dus wel wat haakjes ontbreken en vast nog meer data ook)
Als je dus de klantgegevens wilt aanspreken zal je dat zo moeten doen:
$ritnummers is namelijk een array met twee keys (klantgegevens en artikelgegevens).
$ritnummers["klantgegevens"] is dan ook weer een array met maar 1 numerieke key.
Elk element in die laatste array is weer een object.
Kijk eens of je op deze manier wel iets op het scherm krijgt. Als je het op het scherm krijgt kan je ook verwerken in de database.
Sorry, ik bedoel dat de gegevens momenteel op database staan en ik wil alleen deze gegevens aanroepen via webservice en terug zien op scherm maar niet zoals var_dump doet en ik wil graag een overzicht krijgen
klantnr:1234
afleveradres: labla
postcode:0000aa
.
.
Dat bedoelde ik
klantnr:1234
afleveradres: labla
postcode:0000aa
.
.
Dat bedoelde ik
Zie mijn post, zo moet je ze volgens mij aanspreken. Al geprobeerd?
Erwin bedankt!!
Hij doet het nu ik krijg de resultaten te zien, waarom krijg ik steeds url mee hoe kan ik dit vermijden?
.http://19----------------------------------------------------wsdl?targetURI=urn:tempuri-org
Hij doet het nu ik krijg de resultaten te zien, waarom krijg ik steeds url mee hoe kan ik dit vermijden?
.http://19----------------------------------------------------wsdl?targetURI=urn:tempuri-org
op regel 8 weghalen wellicht?
omdat je die echoedd.. ( regel 8 ) even eruit knikkeren :)
Ja klopt dat heb ik gedaan nu is weg
Bedankt!!
Bedankt!!
Beste lezer,
van ["artikelgegevens"] laat hij nu alleen maar een artikel zien, terwijl deze meer artikels zijn. welke functie moet ik nu gebru8iken om alle artikelen die beschikbaarzijn van dit ritnummer te krijgen.
Alvast bedankt!
van ["artikelgegevens"] laat hij nu alleen maar een artikel zien, terwijl deze meer artikels zijn. welke functie moet ik nu gebru8iken om alle artikelen die beschikbaarzijn van dit ritnummer te krijgen.
Alvast bedankt!
Als het meerdere records bevat (array), kun je dat toch met een foreach oplossen?
Heb deze gebruikt , maar wordt alleen 1 artikel zien terwijl deze meer dan 1 zijn foreach ($ritnummers as $verzamelfoutformulier){
print "<td align='center'>".$ritnummers["artikelgegevens"][0]->artnr."</td>";
print "<td align='center'>".$ritnummers["artikelgegevens"][0]->artomschr."</td>";
print "<td align='center'>".$ritnummers["artikelgegevens"][0]->geleverd."</td></tr>";
}
print "<td align='center'>".$ritnummers["artikelgegevens"][0]->artnr."</td>";
print "<td align='center'>".$ritnummers["artikelgegevens"][0]->artomschr."</td>";
print "<td align='center'>".$ritnummers["artikelgegevens"][0]->geleverd."</td></tr>";
}
Dan moet je dus niet $ritnummers gebruiken maar $verzamelfoutformulier.
Dit bedoel je ? werkt niet
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php foreach ($ritnummers as $verzamelfoutformulier)
{
print "<tr>";
print "<td align='center'>".$verzamelfoutformulier["artikelgegevens"][0]->artnr."</td>";
print "<td align='center'>".$verzamelfoutformulier["artikelgegevens"][0]->artomschr."</td>";
print "<td align='center'>".$verzamelfoutformulier["artikelgegevens"][0]->geleverd."</td></tr>";
?>
{
print "<tr>";
print "<td align='center'>".$verzamelfoutformulier["artikelgegevens"][0]->artnr."</td>";
print "<td align='center'>".$verzamelfoutformulier["artikelgegevens"][0]->artomschr."</td>";
print "<td align='center'>".$verzamelfoutformulier["artikelgegevens"][0]->geleverd."</td></tr>";
?>
Wat gebeurd er als je print_r ($ritnummers); doet? Wat krijg je te zien op je scherm?
Krijg dit te zien
array(2) { ["klantgegevens"]=> array(1) { [0]=> object(stdClass)#2 (7) { ["klantnr"]=> int(...) ["afleveradres"]=> int(..) ["naam"]=> string(29) "-- "---"" ["adres"]=> string(12) "---" ["postcode"]=> string(7) "------" ["plaats"]=> string(4) "----" ["land"]=> string(2) "NL" } } ["artikelgegevens"]=> array(5) {[0]=> object(stdClass)#3 (7) { ["zendnota"]=> int(...) ["picknr"]=> int(...) ["ordernr"]=> int(...) ["artnr"]=> string(6) "...." [artnr] => ...[artomschr] => ..... [geleverd] => 2 [locatie] => ... ) [6] => stdClass Object ( [zendnota] => ...[picknr] => ...[ordernr] => ..[artnr] => ..[artomschr] => ..-.......[geleverd] => 6 [locatie] => ../..) [7] => stdClass Object ( [zendnota] => ..[picknr] => ..[ordernr] => ..[artnr] => ..[artomschr] => ... [geleverd] => 2 [locatie] => ... ) [8] => stdClass Object ( [zendnota] => ...[picknr] => ...[ordernr] => ..[artnr] => ....[artomschr] =>... [geleverd] => 6 [locatie] => ..) ) ) .....................................................................................
array(2) { ["klantgegevens"]=> array(1) { [0]=> object(stdClass)#2 (7) { ["klantnr"]=> int(...) ["afleveradres"]=> int(..) ["naam"]=> string(29) "-- "---"" ["adres"]=> string(12) "---" ["postcode"]=> string(7) "------" ["plaats"]=> string(4) "----" ["land"]=> string(2) "NL" } } ["artikelgegevens"]=> array(5) {[0]=> object(stdClass)#3 (7) { ["zendnota"]=> int(...) ["picknr"]=> int(...) ["ordernr"]=> int(...) ["artnr"]=> string(6) "...." [artnr] => ...[artomschr] => ..... [geleverd] => 2 [locatie] => ... ) [6] => stdClass Object ( [zendnota] => ...[picknr] => ...[ordernr] => ..[artnr] => ..[artomschr] => ..-.......[geleverd] => 6 [locatie] => ../..) [7] => stdClass Object ( [zendnota] => ..[picknr] => ..[ordernr] => ..[artnr] => ..[artomschr] => ... [geleverd] => 2 [locatie] => ... ) [8] => stdClass Object ( [zendnota] => ...[picknr] => ...[ordernr] => ..[artnr] => ....[artomschr] =>... [geleverd] => 6 [locatie] => ..) ) ) .....................................................................................




