Volgorde van objecten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Javache

Javache

05/02/2006 13:21:00
Quote Anchor link
Hey iedereen,
kben momenteel bezig met een eigen site en ik zou graag de mogelijkheid om vanuit een cms, de volgorde van de menu-items aan te passen.

Heeft er iemand van u jullie een makkelijke manier om dit te verwezenlijken ?

Groetjes,
Pieter
 
PHP hulp

PHP hulp

28/12/2024 09:04:14
 
Arjan Kapteijn

Arjan Kapteijn

05/02/2006 13:23:00
Quote Anchor link
Hoe heb je jou menu opgebouwd? Een makkelijke optie is in een database, anders een plain text li/ul menu welke je dan opbouwt met css.
 
Javache

Javache

05/02/2006 13:30:00
Quote Anchor link
Ik heb mijn tbl als volgt opgebouwd
navi_id ,navi_name,navi_href,navi_title

Nu leest ie al alles uit, maar ik zou ook graag de volgorde kunnen wijzigen (en navi_id is daar niet voor bedoeld, aangezien ik later nog met submenu's wil werken)
Gewijzigd op 05/02/2006 13:31:00 door Javache
 
Hipska BE

Hipska BE

05/02/2006 13:33:00
Quote Anchor link
de volgorde van de links aanpassen.

ik was ook bezig aan het zoeken op soortgelijk probleem

ik dacht aan soort van id's aan te passen waardoor volgens het nr de volgorde bepaald word

nav_id -- nav_plaats -- nav_naam -- nav_url
1 -- 3 -- info -- /info.php
2 -- 1 -- home -- /home.php
3 -- 5 -- contact -- /contact.php
4 -- 2 -- login -- /login/
5 -- 4 -- gastenboek -- gbook.php

zoiets ongeveer?
maar dan kan je conflicten hebben bij het veranderen van de plaats.
Gewijzigd op 05/02/2006 13:34:00 door Hipska BE
 
Javache

Javache

05/02/2006 13:36:00
Quote Anchor link
Hetzelfde heb ik dus gebruikt voor een vorige site maar het script om van plaats te veranderen is (nodeloos?) ingewikkeld, aangezien hij vanalles moet controleren etc. Heb jij toevallig hier al een scriptje voor ?

Mijn script :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
$dir
="../";
include($dir."config.inc.php");
if (CheckAdmin() == TRUE) {
    $query="SELECT * FROM pop_database WHERE tbl_name='$_GET[tbl]'";
    $result=mysql_query($query);
    if (mysql_num_rows($result)=='1') {
        $database=mysql_fetch_array($result);
        switch ($_GET['dir']) {
            case
"up" : $item2=$_GET['item']-1;break;
            case
"down" : $item2=$_GET['item']+1;break;
            default :
header("Location: ".$_GET['page']);
            }

        $query="SELECT * FROM $_GET[tbl]";
        $result=mysql_query($query);
        $num_rows=mysql_num_rows($result);
        if ($item2=="0") {
            header("Location: ".$_GET['page']);
            }

        else if ($item2 > $num_rows) {
            header("Location: ".$_GET['page']);
            }
        
        else {
            $query="UPDATE $_GET[tbl] SET ".
                $database['tbl_pos_field']." = '99'
                WHERE "
.$database['tbl_pos_field']." = '$item2'";
            $result=mysql_query($query);
            $query="UPDATE $_GET[tbl] SET ".
                $database['tbl_pos_field']." = '$item2'
                WHERE "
.$database['tbl_pos_field']." = '$_GET[item]'";
            $result=mysql_query($query);
            $query="UPDATE $_GET[tbl] SET ".
                $database['tbl_pos_field']." = '$_GET[item]'
                WHERE "
.$database['tbl_pos_field']." = '99'";
            $result=mysql_query($query);
            header("Location: ".$_GET['page']);
            }
        }

    else {
        header("Location: ".$_GET['page']);
        }
    }

else {
    header("Location: index.php");
    }

?>


Is zeer ingewikkeld stand-alone, een beetje ingewikkeld als je het in z'n geheel ziet :-p
Gewijzigd op 05/02/2006 13:38:00 door Javache
 
Jan Koehoorn

Jan Koehoorn

05/02/2006 14:14:00
Quote Anchor link
Ik heb een tijdje geleden een menu gemaakt dat uit een tabel komt. Als het in een tabel staat is het ook in een CMS te stoppen.
 
Javache

Javache

05/02/2006 14:25:00
Quote Anchor link
Maar stel dat je 'wie zijn we' boven 'gerechten' wil zetten, kan dat dan makkelijk vanuit jouw systeem,

Zoja, kan je broncode ofzo eens bekijken ?
 
Jan Koehoorn

Jan Koehoorn

05/02/2006 14:39:00
Quote Anchor link
Zoals het nu is niet, want er hangt geen CMS aan. Hij haalt de menu-items nu geloof ik op alfabet uit de DB. Maar als de tabel uitgebreid wordt met één veldje voor de plaats in het menu dan zou dat al moeten kunnen.

Dit is de tabelstructuur:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// tabelindeling
CREATE TABLE pulldown (
  id int(4) NOT NULL auto_increment,
  level int(1) NOT NULL,
  parent_id int(2) NOT NULL,
  titel varchar(64) NOT NULL,
  link varchar(512) NOT NULL,
  PRIMARY KEY  (id)
)
ENGINE=MyISAM;
?>


En hiermee kun je hem vullen met wat voorbeeldgegevens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// voorbeeldgegevens

INSERT INTO pulldown VALUES (1, 1, 0, 'home', 'home.php');
INSERT INTO pulldown VALUES (2, 1, 0, 'wie zijn we', 'wiezijnwe.php');
INSERT INTO pulldown VALUES (3, 1, 0, 'producten', 'producten.php');
INSERT INTO pulldown VALUES (4, 2, 3, 'dranken', 'dranken.php');
INSERT INTO pulldown VALUES (5, 2, 3, 'hoofdgerechten', 'hoofdgerechten.php');
INSERT INTO pulldown VALUES (6, 3, 5, 'vlees', 'vlees.php');
INSERT INTO pulldown VALUES (7, 3, 5, 'vis', 'vis.php');
INSERT INTO pulldown VALUES (8, 3, 5, 'vegetarisch', 'vegetarisch.php');
?>
 
Javache

Javache

05/02/2006 14:43:00
Quote Anchor link
Dan heb je ongeveer hetzelfde als ik nu heb (maar met submenu's)

Sigh.. zal ik toch maar mijn oude scriptje moeten gebruiken ?
 
Hipska BE

Hipska BE

06/02/2006 19:06:00
Quote Anchor link
@jan: Hoe laat jij dan je items veranderen van plaats?
 



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.