Avatar billede Slettet bruger
08. april 2010 - 17:55 Der er 5 kommentarer og
1 løsning

Hjælp med at lave dropdown menu med php og mysql

Hej allesammen..

Jeg har lavet et lille cms system, som kan meget få ting,
man kan fx oprette/redigere og slette sider, og redigere i header og footer osv.

Men vil gerne have lavt en dropdown menu ud af php og mysql, altså ikke en <option> list menu, men hvor man føre musen over et menu punkt fx kontakt, så vil jeg have at der kommer en dropdown menu ned med de sider som jeg ønsker at man kan få et script til at oprette eller slette sider igen.

Men hvordan jeg skal kunne oprette en side som en dropdown som skal pege på den rigtige side ved jeg ikke helt hvordan jeg gør...

Hvis der er nogle ekspertere som vil hjælpe mig med det.

Så sig endelig til.

I kan lige se hjemmesiden : http://www.frularsensslagterogdelikatesse.dk/
og som i kan se har jeg en menu.


- Oprettelsen af siderne, kan jeg godt selv lave med php og mysql. Og kan også godt selv lave dropdown menuen med html og css.

- Og så spørger jeg jer om hjælp til at få siderne som man kan oprette til at blive til en dropdown menu med php og mysql, det skal være så man kan rette dem igen.


Håber i forstår hvad jeg mener med det her. :b
Avatar billede intenz Novice
08. april 2010 - 19:03 #1
En simpel måde er bare at lave en tabel med et parent ID som:

Tabel: pages
-----
page_id
page_name
page_url
parent_id

Når du opretter et 'hovedpunkt' sætter du så bare parent_id=0, og alle med 0 er hovedpunkter. Når du opretter et underpunkt, sætter du parent_id til det hovedpunkt det hører til.

Så burde det være relativt simpelt at hente underpunkterne for hver hovedpunkt gennem mysql.

Det kan selvfølgelig gøre mere komplekst, men burde illustrere princippet.
Avatar billede Slettet bruger
08. april 2010 - 22:15 #2
Ja, men forstår ikke helt, sådan bliver min menu hentet fra mysql.

<div id="nav">
<ul>
<?php
require("db/db_connect.php");
$sql = "SELECT name, url, title FROM nav";
$result = $conn->query($sql) or die(mysqli_error());
if($result){
while($row = $result->fetch_object()){
echo "<li><a href='{$row->url}' title='{$row->title}'>{$row->name}</a></li>";                   
}
}
?>
</ul>           
</div>

og mysql database,

CREATE TABLE IF NOT EXISTS `nav` (
  `id` tinyint(3) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `url` varchar(100) NOT NULL,
  `title` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

Er det noget du gider at forklare mig lidt mere af :b
Avatar billede Slettet bruger
09. april 2010 - 08:45 #3
Er der nogen der kan lave noget i den her stil til mig, hvis i har lyst til det..

http://www.gosu.pl/menu/demo/DynamicTree/example2.html

Hvor man skal kunne tilføje, rette eller slete et punkt, det skal kunne køre over mysql database...
Avatar billede Slettet bruger
09. april 2010 - 08:47 #4
Og skulle kunne blive en dropdown til min menu...
Avatar billede Slettet bruger
09. april 2010 - 09:17 #5
Eller en hurtig løsning er at jeg får lidt hjælp til at smide php i en dropdown, og man så udskriver siderne fra mysql databasen, så dropdowns bliver vist under de rigtige hovedpunkter i min menu som:

    * Velkommen
    * Butik
    * Smørrebrød
    * Ud af huset
    * Menukort
    * Catering
    * Dagens ret

Man skal kunne føre musen over fx, dagens ret, og så skal dagens rets undermenuer komme frem under som dropdowns. Jeg kan godt lave det i css med de dropdowns, men mangler lidt hjælp til php og mysql'en.
Avatar billede Slettet bruger
09. april 2010 - 14:45 #6
Lukket!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester