Likes Likes:  0
Resultaten 1 tot 15 van de 34
Pagina 1 van de 3 1 2 3 LaatsteLaatste
Geen
  1. #1
    Erick T. Barkhuis
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Presentatie-volgorde DB-records beheren


    AAN: niwss-s en niwo, want op snijvlak client/server

    KORT: ik zoek naar meningen en documentatie over handige manieren om
    functionaliteit op te zetten voor een webbeheerder, die graag zelf wil
    kunnen bepalen in welke volgorde DB-records worden gepresenteerd,
    afwijkend van 'standaard' sortering


    UITGEBREID:
    Ongetwijfeld komt het vaker voor: een website waar database-records in
    een door de eigenaar gewenste volgorde moeten worden getoond, in plaats
    van via een 'standaard' sortering. Ik ben benieuwd naar manieren waarop
    zoiets wordt aangepakt.

    Situatie: webwinkel met categorieen van producten. Er verschijnt een
    overzicht van (10-20) categorienamen uit een MySQL-database, nu nog
    alfamoeilijk oplopend gesorteerd. Pagina-eigenaar wil graag zelf kunnen
    vastleggen in welke volgorde die categorienamen worden gepresenteerd, bij
    voorkeur mbv zijn admin-systeem waar hij ook nieuwe categorieen en
    producten kan toevoegen, en bestaande kan wijzigen.

    Gedachte: het is waarschijnlijk wel te doen om die categorienamen in een
    select-box van zo'n 8 regels hoog te plaatsen. Een mechanisme om er
    eentje te selecteren en met knopjes omhoog en omlaag te bewegen (zodat de
    volgorde in die selectbox wordt beinvloed) lukt wellicht ook. Maar dan?
    Opslaan van het rijtje in een bestand (of volgnummer in DB opslaan)? Bij
    presentatie die volgorde laten overeenkomen met het resultaat van de
    query?

    Ik ben blij met opvattingen over hoe zoiets op te zetten. Ook zou ik het
    fijn vinden een verwijzing te krijgen naar 'design patterns' voor zoiets.
    Alvast hartelijk dank.


    --
    Erick

    "Hmrph, ik moet ook geen Engels schrijven als het woord
    waarschuwfloepvenster me niet te binnen wil schieten...." - gr-hk in niwo


  2. #2
    William Schokkele
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Beste Erick,

    Ooit ook dit probleem gehad voor een site die ik heb ontworpen. Ik heb
    in de databasetabel heel eenvoudig een veldje volgorde toegevoegd met
    daarin de volgorde waarin de elementen moeten getoond worden.

    Moet de volgorde veranderen, dan verander ik de nrs in de tabel, ietwat
    onorthodox, maar aangezien ik het onderhoud zelf doe, voor mij de
    makkelijkste oplossing. Je kan natuurlijk een klein admin-paginaatje
    maken waarin dit op een gebruiksvriendelijker wijze kan gebeuren. Voor
    mij gaat het hier ook over heel weinig records, als dat er wat meer
    worden zou ik ook opteren voor een andere aanpak dan het manuele
    veranderen in de tabel.

    Op http://www.ivosa.be/htl/graduaat/ worden de elementen onder "maak je
    keuze" gelezen uit een tabel en dan volgens een eigen aangeduide
    volgorde weergegeven. In de SQL van de Stored Procedure staat dus
    uiteindelijk heel eenvoudig ORDER BY volgorde.

    Dus eigenlijk een antwoord naast je vraag naar "design patterns" en
    theoretisch onderbouwde oplossing, maar voor mij alvast werkbaar.

    Nu goed, een voor de hand liggende oplossing waar je wellicht zelf ook
    al was opgekomen

    Groetjes,

    William


  3. #3
    Erick T. Barkhuis
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    William Schokkele:
    > Beste Erick,


    Hoi William. Dank voor je reactie.
    >
    > Ooit ook dit probleem gehad voor een site die ik heb ontworpen. Ik heb
    > in de databasetabel heel eenvoudig een veldje volgorde toegevoegd met
    > daarin de volgorde waarin de elementen moeten getoond worden.
    >
    > Moet de volgorde veranderen, dan verander ik de nrs in de tabel, ietwat
    > onorthodox, maar aangezien ik het onderhoud zelf doe, voor mij de
    > makkelijkste oplossing.


    Tja, zo kan het, zolang je zelf in de database kunt gaan grutten. :-)

    Zoals je zelf al aanvoelde, probeer ik iets op te zetten waarbij dat nou
    net niet nodig is. Bij het toevoegen van een nieuw item zou een beheerder
    'lekker makkelijk' moeten kunnen aanwijzen waar dat item in het volgorde-
    rijtje tussengevoegd moet worden (zonder handmatig ruimte te moeten maken
    door allerlei nummertjes op te schuiven), en al 'even makkelijk' een paar
    items qua volgorde kunnen verwisselen.

    --
    Erick

  4. #4
    Ronin
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    On Fri, 29 Sep 2006 09:15:59 +0200, Erick T. Barkhuis
    <erick.usenet@ardane.c-o-m> wrote:

    > AAN: niwss-s en niwo, want op snijvlak client/server


    > KORT: ik zoek naar meningen en documentatie over handige manieren om
    > functionaliteit op te zetten voor een webbeheerder, die graag zelf wil
    > kunnen bepalen in welke volgorde DB-records worden gepresenteerd,
    > afwijkend van 'standaard' sortering


    In principe vraag je naar het indexeren van een relationele database
    en de verschillende sleutels die je bij de presentatie van de records
    wilt gebruiken. In SQL kan je dat doen door veschillende indexbestan-
    den aan te maken met: CREATE [UNIQUE] INDEX. De theorie die je zoekt
    is "Relationeel database ontwerp"

    HTH

    --
    Constant change is here to stay.

  5. #5
    Rene Pijlman
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Erick T. Barkhuis:
    >Gedachte: het is waarschijnlijk wel te doen om die categorienamen in een
    >select-box van zo'n 8 regels hoog te plaatsen. Een mechanisme om er
    >eentje te selecteren en met knopjes omhoog en omlaag te bewegen (zodat de
    >volgorde in die selectbox wordt beinvloed) lukt wellicht ook.


    Zo werkt het min of meer in Plone. Maar dan zonder select-box. Er staat
    een rijtje items voor je in een soort Explorer-view en met pijltjes beweeg
    je die omhoog en omlaag.

    Bij een ander systeem dat ik in gebruik heb (vBulletin) staan
    volgordenummertjes en is er een beheerscherm met een overzicht van alle
    items en hun volgordenummers, zodat je in één formulier de volgordenummers
    van alle items kunt wijzigen en dit met één handeling opslaan.

    Ik vind beide user-interfaces alleszins werkbaar en aanvaardbaar.

    >Maar dan?
    >Opslaan van het rijtje in een bestand (of volgnummer in DB opslaan)? Bij
    >presentatie die volgorde laten overeenkomen met het resultaat van de
    >query?


    In een relationele database zou ik een volgnummer in de db opslaan. Onder
    Plone ligt een object-database waarin de kinderen een 'list of object
    references' zijn in de container.

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  6. #6
    Rene Pijlman
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Erick T. Barkhuis:
    >Bij het toevoegen van een nieuw item zou een beheerder
    >'lekker makkelijk' moeten kunnen aanwijzen waar dat item in het volgorde-
    >rijtje tussengevoegd moet worden (zonder handmatig ruimte te moeten maken
    >door allerlei nummertjes op te schuiven)


    Het zal wel komen doordat Basic mijn eerste programmeertaal was, maar ik
    nummer de items 10, 20, 30...

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  7. #7
    Rene Pijlman
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Ronin:
    >Erick T. Barkhuis
    >> in welke volgorde DB-records worden gepresenteerd,
    >> afwijkend van 'standaard' sortering

    >
    >In principe vraag je naar het indexeren van een relationele database
    >en de verschillende sleutels die je bij de presentatie van de records
    >wilt gebruiken. In SQL kan je dat doen door veschillende indexbestan-
    >den aan te maken met: CREATE [UNIQUE] INDEX. De theorie die je zoekt
    >is "Relationeel database ontwerp"


    Welnee. Het heeft niets met sleutels en indexen te maken - laat staan
    indexbestanden - en het gaat natuurlijk om 'order by' in de query, maar
    _dat_ weet Erick ook wel.

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  8. #8
    Erick T. Barkhuis
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Rene Pijlman:
    > Erick T. Barkhuis:
    > >Bij het toevoegen van een nieuw item zou een beheerder
    > >'lekker makkelijk' moeten kunnen aanwijzen waar dat item in het volgorde-
    > >rijtje tussengevoegd moet worden (zonder handmatig ruimte te moeten maken
    > >door allerlei nummertjes op te schuiven)

    >
    > Het zal wel komen doordat Basic mijn eerste programmeertaal was, maar ik
    > nummer de items 10, 20, 30...


    Is dat: 10,10,20,30,50,.... ?

    Anyway, ook het nummeren met tussenruimtes zal, na verloop van tijd,
    leiden tot het moeten opschuiven van volgnummers. Bovendien heb je dan
    nog wat algoritmes nodig voor het bepalen van het 'tussenliggende
    nummer'. Welke kies je als er iets komt tussen 20 en 25?

    Tja, gebruik van pointers, kettingen, of hoe je ze wilt noemen.
    Verwijzingen van de ene naar de volgende. Geen verkeerd plan, ook in een
    relationele database. Maar het nadeel daarvan is dat volgordewisselingen
    alweer een stukje lastiger worden, dunkt me. Ga ik nog even verder naar
    kijken.

    --
    Erick


  9. #9
    Ronin
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    On Fri, 29 Sep 2006 13:13:38 +0200, Rene Pijlman
    <reply.in.the.newsgroup@my.address.is.invalid> wrote:

    >>> in welke volgorde DB-records worden gepresenteerd, afwijkend van
    >>> 'standaard' sortering


    >> In principe vraag je naar het indexeren van een relationele database
    >> en de verschillende sleutels die je bij de presentatie van de records
    >> wilt gebruiken. In SQL kan je dat doen door veschillende indexbestan-
    >> den aan te maken met: CREATE [UNIQUE] INDEX. De theorie die je zoekt
    >> is "Relationeel database ontwerp"


    > Welnee. Het heeft niets met sleutels en indexen te maken - laat staan
    > indexbestanden - en het gaat natuurlijk om 'order by' in de query, maar
    > _dat_ weet Erick ook wel.


    De 'order by' clause is geen indexering? Nou, weer wat geleerd :-)

    --
    Constant change is here to stay.

  10. #10
    Rene Pijlman
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Erick T. Barkhuis:
    >Anyway, ook het nummeren met tussenruimtes zal, na verloop van tijd,
    >leiden tot het moeten opschuiven van volgnummers.


    Ja, als het om heel veel items gaat dan wordt dat een probleem. Maar
    meestal willen mensen alleen kleine aantallen itens handmatig in een
    bepaalde volgorde zetten. Zo'n probleem is het toch niet om eens in de
    vijf jaar de volgordenummertjes van je twaalf categorieën weer op 10, 20,
    30, ... 120 te zetten?

    En anders is er nog de Basic-oplossing: RENUMBER :-)

    >Tja, gebruik van pointers, kettingen, of hoe je ze wilt noemen.
    >Verwijzingen van de ene naar de volgende.


    Het model in Plone is conceptueel gezien geen ketting (linked list), maar
    een array van object-id's in de container/parent:

    [2612, 1235199, 53017663, 6720, 87474]

    En een volgordewijziging bestaat uit het vervangen van die array door:

    [1235199, 2612, 6720, 87474, 53017663]

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  11. #11
    Rene Pijlman
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Ronin:
    >De 'order by' clause is geen indexering?


    Inderdaad. 'Order by' is de rijen in een resultaattabel in een bepaalde
    volgorde zetten. De engine gebruikt daarbij indexen als dat kan en als dat
    efficiënt is, maar sorteert ook zonder indexen.

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  12. #12
    Ronin
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    On Fri, 29 Sep 2006 13:11:41 +0200, Rene Pijlman
    <reply.in.the.newsgroup@my.address.is.invalid> wrote:

    >> Bij het toevoegen van een nieuw item zou een beheerder
    >> 'lekker makkelijk' moeten kunnen aanwijzen waar dat item in het volgorde-
    >> rijtje tussengevoegd moet worden (zonder handmatig ruimte te moeten maken
    >> door allerlei nummertjes op te schuiven)


    > Het zal wel komen doordat Basic mijn eerste programmeertaal was, maar ik
    > nummer de items 10, 20, 30...


    Dat is een sequentiele database, geen relationele.

    --
    Constant change is here to stay.

  13. #13
    Ronin
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    On Fri, 29 Sep 2006 13:27:26 +0200, Rene Pijlman
    <reply.in.the.newsgroup@my.address.is.invalid> wrote:

    >> De 'order by' clause is geen indexering?


    > Inderdaad. 'Order by' is de rijen in een resultaattabel in een bepaalde
    > volgorde zetten. De engine gebruikt daarbij indexen als dat kan en als dat
    > efficiënt is, maar sorteert ook zonder indexen.


    En de clausule die je bij de sortering gebruikt heet sleutel. Je hebt
    het over virtueel indexeren. Want waar haal je het volgende record
    vandaan als er geen index bestaat?

    --
    Constant change is here to stay.

  14. #14
    Erick T. Barkhuis
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Ronin:
    > On Fri, 29 Sep 2006 13:27:26 +0200, Rene Pijlman
    > <reply.in.the.newsgroup@my.address.is.invalid> wrote:
    >
    > >> De 'order by' clause is geen indexering?

    >
    > > Inderdaad. 'Order by' is de rijen in een resultaattabel in een bepaalde
    > > volgorde zetten. De engine gebruikt daarbij indexen als dat kan en als dat
    > > efficiënt is, maar sorteert ook zonder indexen.

    >
    > En de clausule die je bij de sortering gebruikt heet sleutel. Je hebt
    > het over virtueel indexeren. Want waar haal je het volgende record
    > vandaan als er geen index bestaat?


    Maar wat heeft die virtuele index nu te maken met CREATE INDEX?

    --
    Erick

    "kleine letters maken subdomeinen mogelijk" - aljo in niwo


  15. #15
    Rene Pijlman
    Presentatie-volgorde DB-records beheren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Presentatie-volgorde DB-records beheren

    Ronin:
    >En de clausule die je bij de sortering gebruikt heet sleutel.


    Sleutel slaat in de relationele terminologie op de kolommen die de rijen
    in een tabel uniek identificeren. Na 'order by' kun je op een willekeurige
    combinatie van kolommen sorteren, dat hoeft helemaal geen sleutel te zijn.

    Het stuk na de 'order by' wordt in het boek "SQL-99 Complete" over de
    SQL-standaard de 'sort specification list' genoemd.

    Veel databases staan toe om na 'order by' vrije expressies op te nemen:

    select col1
    from table
    order by col2 + col5

    In dat geval is er geen index. De engine moet de expressie voor elke rij
    evalueren en ad hoc sorteren.

    >Want waar haal je het volgende record vandaan als er geen index bestaat?


    De rijen worden gesorteerd aan de hand van de 'order by'-expressie, die
    zonodig per rij geëvalueerd moet worden.

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

Pagina 1 van de 3 1 2 3 LaatsteLaatste

Webhostingtalk.nl

Contact

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