Volgorde van objecten
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
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.
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
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
Mijn script :
Code (php)
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
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");
}
?>
$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
menu gemaakt dat uit een tabel komt. Als het in een tabel staat is het ook in een CMS te stoppen.
Ik heb een tijdje geleden een Zoja, kan je broncode ofzo eens bekijken ?
Dit is de tabelstructuur:
Code (php)
En hiermee kun je hem vullen met wat voorbeeldgegevens:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
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');
?>
// 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');
?>
Sigh.. zal ik toch maar mijn oude scriptje moeten gebruiken ?
@jan: Hoe laat jij dan je items veranderen van plaats?