Dag allemaal,
Ik probeer een multi array in een database te krijgen. De array geeft gegevens weer die ik via een API opvraag. Deze wil ik graag met een loop in een MySQL database zetten om die vervolgens binnen een eigen applicatie te gebruiken. Het script wil ik dan 1x per uur laten lopen met een Cronjob om de gegevens actueel te houden.
Het moet dus een insert zijn als de gegevens er nog niet zijn en een update wanneer er gegevens zijn veranderd. Ik krijg inmiddels de gegegevens netjes in een html tabel maar die wil ik dus in een database zetten. Kunnen jullie mij helpen? Het gaat om de API van WeFact. Misschien bekend bij een van jullie.
Ik heb nu deze code:
<?php
require_once "../apiClass.php";
// Start API
$api = new WeFactAPI();
// List debtors
$parameters = array(
"Sort" => "DebtorCode",
"Order" => "ASC",
"Search" => ""
);
$obj = $api->listDebtors($apikey, $parameters);
//echo "<!--";
//echo print_r($obj);
//echo "--!>";
$data = object_to_array( $obj );
echo "<table><tr><th>ID</th><th>Debiteur Code</th><th>Bedrijfsnaam</th><th>Geslacht</th><th>Voorletters</th><th>Achternaam</th><th>E-mail adres</th></tr>";
foreach($data as $taal => $beschrijving){
if($taal == 'Result')
{
foreach($beschrijving as $key => $value)
{
foreach($value as $sleutel => $waarde){
echo '<tr>';
foreach($waarde as $id => $gegevens)
{
echo '<Td>'.$gegevens.'</td>';
}
echo '</tr>';
echo "\r\n";
}
}
}}
echo "</table>";
die();
// On success, result looks like
// stdClass Object
// (
// [Status] => success
// [Time] => 2011-01-01 12:00:00
// [IP] => 12.34.56.789
// [Count] => 2
// [Filter] => stdClass Object
// (
// [Sort] => DebtorCode
// [Order] => ASC
// [Search] => DB101
// )
//
// [Result] => stdClass Object
// (
// [Debtors] => Array
// (
// [0] => stdClass Object
// (
// [Identifier] => 1010
// [DebtorCode] => DB1010
// [CompanyName] => Bedrijfsnaam
// [Sex] => m
// [Initials] => A.B.C.
// [SurName] => Achternaam
// [EmailAddress] => [email protected]
// )
//
// [1] => stdClass Object
// (
// [Identifier] => 1011
// [DebtorCode] => DB1011
// [CompanyName] => Bedrijfsnaam
// [Sex] => m
// [Initials] => Naam
// [SurName] => Achternaam
// [EmailAddress] => [email protected]
// )
// )
//
// )
//
// )
?>
Ik heb geprobeerd bij de echo $gegevens de gegevens te inserten maar dat gaat dus want $gegevens bevat telkens maar 1 waarde. Wanneer ik $gegevens[1] doe krijg ik maar 1 teken van de waarde. Ook $gegevens[$id[1]] werkt niet.
Wat doe ik fout? Hoe moet het wel?
Alvast bedankt voor jullie hulp!
Edit: door middel van de ID is er te zien of de debiteur al bestaat. Dat kan ik simpel zelf oplossen. Ik wil eigenlijk graag weten hoe ik elke waarde in een losse variabele zet zoals $bedrijfsnaam = {gegeven uit array}
756 views