Likes Likes:  0
Resultaten 1 tot 2 van de 2
Geen
  1. #1
    Maarten Wierda
    [PHP] Berichten weergeven volgens boomstructuur
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [PHP] Berichten weergeven volgens boomstructuur

    Hallo N.I.W.S-S,

    Ik heb geprobeerd een forum te maken n.a.v. een artikel op phpfreakz.nl
    maar ik stuit op een probleem. De reacties moeten netjes geordend
    volgens een boomstructuur. Het betreft een boomstructuur zoals deze
    bijvoorbeeld in veel newsreaders wordt gehanteerd.

    Op <http://www.norecess.com/tmp/forum/forum.phps> staat mijn broncode en
    op <http://www.norecess.com/tmp/forum/forum.gif> staat een screendump
    van de pagina die de berichten uit m'n database dient weer te geven.

    De inhoud van m'n tabel ziet er als volgt uit:

    +--------------------------------------+
    | id | naam | titel | inhoud | replyto |
    +--------------------------------------+
    | 1 | 1 | 1 | 1 | 0 |
    | 2 | 2 | 2 | 2 | 0 |
    | 3 | 3 | 3 | 3 | 1 |
    | 4 | 4 | 4 | 4 | 2 |
    | 5 | 5 | 5 | 5 | 3 |
    | 6 | 6 | 6 | 6 | 3 |
    +--------------------------------------+

    Nu dacht ik dat bericht 6 nu achter 3 zou moeten komen te staan, maar
    zoals op de screendump te zien is gebeurt dat niet. Ook begrijp ik niet
    waarom bericht 5 onder 2 staat, terwijl het als replyto 3 heeft staan.

    Mijn idee was steeds dat het script kijkt naar de replyto en aan de hand
    daarvan de berichten ordent. Indien ik iets verkeerd interpreteer, zou
    iemand dan kunnen uitleggen hoe het script *wel* werkt?

    Of kan het zijn dat er iets verkeerd gaat in m'n broncode,

    Alvast vriendelijk bedankt,

    --
    Cheers, Maarten Wierda

  2. #2
    Raginfury
    [PHP] Berichten weergeven volgens boomstructuur
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Berichten weergeven volgens boomstructuur

    In article <3E2D9DD3.A8EA4008@norecessDOT.com>,
    moart3nAT@norecessDOT.com says...

    > Nu dacht ik dat bericht 6 nu achter 3 zou moeten komen te staan, maar
    > zoals op de screendump te zien is gebeurt dat niet. Ook begrijp ik niet
    > waarom bericht 5 onder 2 staat, terwijl het als replyto 3 heeft staan.


    Dat is zeker vreemd, want ik heb je situatie nagebouwd en dan komt vijf
    er in helemaal niet in voor met je script. Waarschijnlijk heb je gewoon
    replyto op 2 staan bij 5, dubblecheck dat nog even.

    Het missen van de andere kinderen komt door dit stukje code van je:

    // dit is het laatste item, een leeg plaatje
    if ($childcount == $count) {
    $imgs_code .= $CODE_EMPTY;
    }
    // anders een lijntje
    else {
    $imgs_code .= $CODE_LINE;
    PrintChildren($row->id, $imgs_code);
    $count++;
    }

    Waarom check je alleen of een bepaald item een kind heeft als er nog
    meer kinderen volgen? Je moet natuurlijk altijd checken of een item
    kinderen heeft en dus moet je de aanroep van PrintChilderen() buiten
    deze statement plaatsen:

    // dit is het laatste item, een leeg plaatje
    if ($childcount == $count) {
    $imgs_code .= $CODE_EMPTY;
    }
    // anders een lijntje
    else {
    $imgs_code .= $CODE_LINE;
    $count++;
    }
    PrintChildren($row->id, $imgs_code);

    Er klopt dan waarschijnlijk geen hout meer van die plaatjes van je, maar
    dat moet je maar zelf oplossen

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics