Waarde uit een xml bestand correct weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hielke Brandsma

Hielke Brandsma

13/04/2017 11:50:24
Quote Anchor link
Hoi luitjes,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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>


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!
 
PHP hulp

PHP hulp

24/11/2024 09:25:19
 
Joakim Broden

Joakim Broden

13/04/2017 12:21:05
Quote Anchor link
Zoiets? Je gebruikt veel te vaak een foreach, je hoeft alleen maar de beoordelingen te loopen. En in een foreach mag een statische ID attribute niet voorkomen, een ID moet uniek zijn.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>'
;
    }


?>
Gewijzigd op 13/04/2017 12:24:48 door Joakim Broden
 
Hielke Brandsma

Hielke Brandsma

13/04/2017 12:58:47
Quote Anchor link
Top! Maar het werkt niet helaas :(
Ik heb het exact overgenomen, maar hij echoot de datum niet .. die blijft leeg..
 
Joakim Broden

Joakim Broden

13/04/2017 13:17:23
Quote Anchor link
Kun je je huidige code eens laten zien, heb mijn bericht namelijk nog wel een keer gewijzigd.
 
Adoptive Solution

Adoptive Solution

13/04/2017 13:36:20
Quote Anchor link
De datumweergave moet worden aangepast.

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)
PHP script in nieuw venster Selecteer het PHP script
1
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
}
?>
Gewijzigd op 13/04/2017 13:56:09 door Adoptive Solution
 
Hielke Brandsma

Hielke Brandsma

13/04/2017 14:03:46
Quote Anchor link
[UPDATE] Ik was te enthousiast denk ik ... of jij had je EDIT net 'te laat' gedaan :P
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:
Afbeelding

Ik vind het trouwens super hoe jullie me willen helpen! Echt top!!
Gewijzigd op 13/04/2017 14:08:20 door Hielke Brandsma
 
Adoptive Solution

Adoptive Solution

13/04/2017 14:20:07
Quote Anchor link
Kwam op een andere server een foutmelding tegen.

Deze regel verwijderen :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$date->setTimestamp( $beoordeling->datum );


Hier een selectie als voorbeeld :

http://adoptive.esy.es/autodrome/
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.