Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum. Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden. Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!

We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.

Team Webprofis

uitlezen database

bewerkt di 27 okt 2015 in PHP, MySQL Posts: 732
Zit nu al een paar dagen te spelen, en ben kompleet de weg kwijt grrrr.

Ik wil een menu met levels maken, zodra een pagina een sub bezit komt er een submenu,
heeft een subpagina een post dan komt hier ook een submenu.

Maar nu uitlezen, iemand een suggestie ?
Hieron der mijn database


INSERT INTO pages` (`id`, `publication`, `page`, `subpage`, `post`, `rang`, `title`) VALUES
(1, '2015-10-15', 'pagina-een', 'none', 'none', 0, 'Pagina 1'),
(2, '2015-10-15', 'pagina-een', 'subpagina-een', 'none', 0, 'Pagina 1 Sub 1),
(3, '2015-10-15', 'pagina-een', 'subpagina-een', 'artikel-een', 0, 'Pagina 1 Sub 1 Post 1'),
(4, '2015-10-15', 'pagina-een', 'subpagina-een', 'artikel-twee', 0, 'Pagina 1 Sub 1 Post 2'),
(5, '2015-10-15', 'pagina-twee', 'none', 'none', 0, 'Pagina 2'),
(6, '2015-10-15', 'pagina-twee', 'subpagina-een', 'none', 0, 'Pagina 2 Sub 2'),
(7, '2015-10-15', 'pagina-twee', 'subpagina-een', 'artikel-een', 0, 'Pagina 2 Sub 2 Post 1),
(8, '2015-10-15', 'pagina-een', 'subpagina-een', 'none', 0, 'Pagina 1 Sub 2'),
(9, '2015-10-15', 'pagina-drie', 'none', 'none', 0, 'Pagina 3');
If it's not fun, you're not doing it right!

Reacties


  • while(fetchmeuk){
    //pagina zooi
    if($fetched'(subpage') != 'none'){
    //toon sub
    if(voorwaarde voor sub-sub === true){
    //sub sub tonen
    }
    }
    }
  • PMPosts: 732
    Die manier werkt niet helemaal.
    Moet er een functie in plaatsen zodra een pagina een sub heeft dan ook een second-level in menu weergeven.
    Heeft een pagina geen sub dan is er ook geen second-level menu.

    Dus eigenlijk in de while per pagina kijken of er subs zijn,
    Bijna zover alleen nog even spelen met sql distinct uitlezen zodat er geen duplicaties komen te staan.

    Maar even paar daagjes wat anders, want op een gegeven ogenblik zie je het niet meer grrr,,,,,
    If it's not fun, you're not doing it right!
  • Dat gebeurd er toch allemaal?
  • bewerkt di 20 okt 2015
    PMPosts: 732
    momenteel heb ik dit, in de sidebar menu:
    de exclude is een array van 1,2,3,4. de nummers zijn id's van pagina's die niet mee tellen in het menu

    sidebar menu:


    foreach ( $results['data'] as $page ) {
    if ( !in_array( $page->id, $results['exclude'] ) ) {
    if ( ( $page->subpage == "none") and ( $page->post == "none" ) ) {
    echo sidebarMenu( $page->id, $page->page, $page->title );
    }
    }
    }

    functie:


    data = class::getList( 'oneColumn', 'table_pages', 'page', $page, '', '', '', '', 100, 'title ASC' );
    $results['total'] = $data['total'];
    $results['data'] = $data['results'];
    if ( $results['total'] != 1 ){
    // html nav second level
    foreach ( $results['data'] as $page ) {
    if ( ( $page->subpage !== "none") and ( $page->post == "none" ) ) {
    // html er zijn subpages
    }
    }
    // html close second level
    } else {
    // html geen subpages
    }

    Dit werkt nu 100%, weet even niet of het eenvoudiger kan, maar zoals ik zij even pauze hihi
    If it's not fun, you're not doing it right!
  • Ik zou sowieso die exclude meuk gewoon bij in je db plaatsen en je query alleen de toegestane laten pakken, dat scheelt je iig voor elke id een loop.

    select meuk from db where exlude = 0
  • PMPosts: 732
    Kan ik doen maar dan moet ik ook de gehele class (sql regel) gaan aanpassen, terwijl ik die (getList) voor meerdere functies gebruik, blog reacties, afbeeldingen, documenten, sitemap enz. en ik moet dan alles gaan aanpassen in andere functies en pagina's.

    Bijvoorbeeld in sitemap vervalt de exclude.

    Thanks voor meedenken.
    If it's not fun, you're not doing it right!
  • bewerkt di 20 okt 2015
    PMPosts: 415
    Bwah, je gebruikt dit voor een menu neem ik aan, dus wordt elke keer aangeroepen als er een pagina geparsed wordt?
    Dan zou ik een case/switch of zo inbouwen, dan scheelt het je nog een hele zooi loops en het zijn maar 3 regels (per case) meer code. Als het slecht met of zonder excludes is, is het zelfs maar ????n regeltje uitbreiden.


    $sql = $voorwaardeUitFunctie === true ? 'select...where exclude = 0 ' : 'select where exclude = 1';


Login of Registreer om te reageren.