Waarde uit een xml bestand correct weergeven
Ik ben een totale beginner op PHP gebied en interpreteer bepaalde dingen nog niet op de juiste manier.
Ik heb een XML bestand (URL) (XML LinkXML Link) waar ik bepaalde onderdelen uit wil weergeven met PHP / HTML.
Check deze link voor de huidige output: LINKLINK
Wanneer je kijkt naar de datum zie je dat het (schijnbaar) een UNIX formaat heeft. Ik probeer deze waarde om te zetten naar dit formaat: d-m-Y maar ik krijg het niet voor elkaar.
Dit is mijn stukje code:
<div class="beoordelingenoverzicht">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
foreach ($xml->beoordelingen->beoordeling as $beoordelingenoverzicht) {
echo "<div class='containerbeoordeling'><div class='hoofd'>";
foreach($beoordelingenoverzicht->voornaam as $label => $voornaam) {
echo "<div class='naam'><span id='label'>Naam</span><span id='voornaam'>{$voornaam}</span>"; }
foreach($beoordelingenoverzicht->achternaam as $label => $achternaam) {
echo "<span id='achternaam'> {$achternaam}</span></div>";
}
foreach($beoordelingenoverzicht->datum as $label => $datum) {
echo "<div class='datum'><span id='label'>{$label}</span><span id='datum'>{$datum}</span></div></div>";
}
foreach($beoordelingenoverzicht->beschrijving as $label => $beschrijving) {
echo "<div class='beschrijving'>{$beschrijving}</div>";
}
echo "</div>";
}
?>
</div>
foreach ($xml->beoordelingen->beoordeling as $beoordelingenoverzicht) {
echo "<div class='containerbeoordeling'><div class='hoofd'>";
foreach($beoordelingenoverzicht->voornaam as $label => $voornaam) {
echo "<div class='naam'><span id='label'>Naam</span><span id='voornaam'>{$voornaam}</span>"; }
foreach($beoordelingenoverzicht->achternaam as $label => $achternaam) {
echo "<span id='achternaam'> {$achternaam}</span></div>";
}
foreach($beoordelingenoverzicht->datum as $label => $datum) {
echo "<div class='datum'><span id='label'>{$label}</span><span id='datum'>{$datum}</span></div></div>";
}
foreach($beoordelingenoverzicht->beschrijving as $label => $beschrijving) {
echo "<div class='beschrijving'>{$beschrijving}</div>";
}
echo "</div>";
}
?>
</div>
Kan iemand mij in de juiste richting duwen om het juiste formaat weer te geven? Wat is handig? Wat is verstandig? Op voorhand de variable $datum converteren en in een nieuwe variabele zetten om die weer te echoën? Ik ben even de weg kwijt :P
Alvast bedankt voor het meedenken!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
foreach ($xml->beoordelingen->beoordeling as $beoordeling) {
echo '<div class="containerbeoordeling">
<div class="hoofd">
<span id="voornaam">'.$beoordeling->voornaam.'</span>
<span id="achternaam">'.$beoordeling->achternaam.'</span>
<span id="datum">'.date('d-m-Y', $beoordeling->datum).'</span>
</div>
<div class="beschrijving">'.$beoordeling->beschrijving.'</div>
</div>';
}
?>
foreach ($xml->beoordelingen->beoordeling as $beoordeling) {
echo '<div class="containerbeoordeling">
<div class="hoofd">
<span id="voornaam">'.$beoordeling->voornaam.'</span>
<span id="achternaam">'.$beoordeling->achternaam.'</span>
<span id="datum">'.date('d-m-Y', $beoordeling->datum).'</span>
</div>
<div class="beschrijving">'.$beoordeling->beschrijving.'</div>
</div>';
}
?>
Gewijzigd op 13/04/2017 12:24:48 door Joakim Broden
Ik heb het exact overgenomen, maar hij echoot de datum niet .. die blijft leeg..
Kun je je huidige code eens laten zien, heb mijn bericht namelijk nog wel een keer gewijzigd.
Ik heb er met wat formattering dit van gemaakt :
EDIT: Ging niet helemaal goed met de datum. De oplossing zat in een klein voorbeeld :
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
<?php
foreach ($xml->beoordelingen->beoordeling as $beoordeling) {
// http://php.net/manual/en/datetime.settimestamp.php
$date = new DateTime("@$beoordeling->datum");
$date->setTimestamp( $beoordeling->datum );
?>
<div class="containerbeoordeling">
<div class="hoofd">
<p><span id="voornaam"><?php echo $beoordeling->id; ?></span>
<span id="voornaam"><?php echo $beoordeling->voornaam; ?></span> -
<span id="achternaam"><?php echo $beoordeling->achternaam; ?></span> -
<span id="datum"><?php echo $date->format('d-m-Y H:i:s'); ?></span><br />
<?php echo $beoordeling->beschrijving; ?></p>
</div>
</div>
<?php
}
?>
foreach ($xml->beoordelingen->beoordeling as $beoordeling) {
// http://php.net/manual/en/datetime.settimestamp.php
$date = new DateTime("@$beoordeling->datum");
$date->setTimestamp( $beoordeling->datum );
?>
<div class="containerbeoordeling">
<div class="hoofd">
<p><span id="voornaam"><?php echo $beoordeling->id; ?></span>
<span id="voornaam"><?php echo $beoordeling->voornaam; ?></span> -
<span id="achternaam"><?php echo $beoordeling->achternaam; ?></span> -
<span id="datum"><?php echo $date->format('d-m-Y H:i:s'); ?></span><br />
<?php echo $beoordeling->beschrijving; ?></p>
</div>
</div>
<?php
}
?>
Gewijzigd op 13/04/2017 13:56:09 door Adoptive Solution
Werkt helemaal top!!! Super super!!
-----------------------
Die formattering / opbouw werkt inderdaad een stuk prettiger :)
Leest ook beter / geeft overzicht! Super!
Maar het resultaat is iets anders, namelijk iets waar ik eerder ook tegenaan gelopen ben...
Check:
Ik vind het trouwens super hoe jullie me willen helpen! Echt top!!
Gewijzigd op 13/04/2017 14:08:20 door Hielke Brandsma