Op welke manier kun je het makkelijkst een menu voor een website maken met PHP/MySQL. Ik heb hier al gezocht, maar ik vond niks. Heeft een van jullie dat al eens gedaan? En hoe heb je het gedaan?
Wat voor menu bedoel je?
Staat hier niets tussen?
http://www.hotscripts.com...Programs/Site_Navigation/
(Eventueel licht aanpassen zodat de gegevens direct uit een DB getrokken worden?)
Staat hier niets tussen?
http://www.hotscripts.com...Programs/Site_Navigation/
(Eventueel licht aanpassen zodat de gegevens direct uit een DB getrokken worden?)
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Right.
"Een menu voor een website maken"
Zorg ervoor dat je het weet hoe het er in html moet uitzien, dan is het een eitje om dat vanuit je php/mysql te genereren.
Lees verder de quickstart even door over topic-starts en dergelijke...
"Een menu voor een website maken"
Zorg ervoor dat je het weet hoe het er in html moet uitzien, dan is het een eitje om dat vanuit je php/mysql te genereren.
Lees verder de quickstart even door over topic-starts en dergelijke...
Verwijderd
Even een klein voorbeeld voor je, hopelijk helpt het (erg simpel):
Tabel opmaak:
Je kunt ook dingen als categorie-en, linken via een id etc. inbouwen
Tabel opmaak:
code:
1
2
3
| menu: name varchar(150), url varchar(150) |
PHP:
1
2
3
| $sql = mysql_query("select name,url from menu"); while(list($name,$url) = mysql_fetch_array($sql)) echo "<li><a href='$url'>$name</a>\n"; |
Je kunt ook dingen als categorie-en, linken via een id etc. inbouwen
Verwijderd
Ik doe altijd gewoonVerwijderd schreef op 11 augustus 2002 @ 13:22:
Even een klein voorbeeld voor je, hopelijk helpt het (erg simpel):
Tabel opmaak:
code:
1 2 3 menu: name varchar(150), url varchar(150)
PHP:
1 2 3 $sql = mysql_query("select name,url from menu"); while(list($name,$url) = mysql_fetch_array($sql)) echo "<li><a href='$url'>$name</a>\n";
Je kunt ook dingen als categorie-en, linken via een id etc. inbouwen
PHP:
1
2
3
| $sql = mysql_query("select name,url from menu"); while($tool = mysql_fetch_array($sql)) echo "<li><a href=\"$tool[url]\">$tool[name]</a>\n"; |
Het valt me op dat er veel mensen zijn die werken met de list die eigenlijk helemaal niet nodig is. Ik wilde even informeren waarom, omdat ik van mening ben dat less more is in coden. Hoe minder opdrachten je de parser geeft, hoe sneller de code. Iemand..?
Bah, vieze vraag, vage antwoorden en enge php-code.
Over dat laatste:
• Die paar microseconde die de parser zich bezig houd met een list() of niet boeit niet.
• Maar het feit dat je hem dwingt jou te verbeteren door array keys niet tussen "-tekens te zetten is eng.
• Verder vind ik het hele idee van variabelen midden in een string een van de slechtere ideen van PHP. Doe liever:
of gebruik templates (niet nodig in zo'n vb. antwoord).
Beetje on-topic om deze zeur-post nog enige waarde te geven:
Probeer s.v.p. uit te leggen hoe je site-structuur eruit ziet, hoe je je menu voorstelt. Welke links moeten er in een menu komen? Wil je die met de hand invoeren zoals hierboven genomede oplossing voorstellen of moet er iets automatisch gebeuren?
Over dat laatste:
• Die paar microseconde die de parser zich bezig houd met een list() of niet boeit niet.
• Maar het feit dat je hem dwingt jou te verbeteren door array keys niet tussen "-tekens te zetten is eng.
• Verder vind ik het hele idee van variabelen midden in een string een van de slechtere ideen van PHP. Doe liever:
PHP:
1
| echo '<li><a href="' . $tool['url'] . '">' . $tool['name'] . '</a>\n'; |
of gebruik templates (niet nodig in zo'n vb. antwoord).
Beetje on-topic om deze zeur-post nog enige waarde te geven:
Probeer s.v.p. uit te leggen hoe je site-structuur eruit ziet, hoe je je menu voorstelt. Welke links moeten er in een menu komen? Wil je die met de hand invoeren zoals hierboven genomede oplossing voorstellen of moet er iets automatisch gebeuren?
|_____vakje______|
Volgens mij geeft de code die jij aan de parser geeft niet altijd aan of die ook het beste is. Misschien is de parser wel zo slim om altijd de meest optimale code te gebruiken en maakt het niet altijd uit hoe je die opschrijft.Verwijderd schreef op 11 augustus 2002 @ 13:29:
Hoe minder opdrachten je de parser geeft, hoe sneller de code. Iemand..?
CyberSnooP schreef op 11 augustus 2002 @ 13:42:
• Die paar microseconde die de parser zich bezig houd met een list() of niet boeit niet.
Het scheelt behoorlijk veel in dit geval en zeker omdat het de while-iterator is (of whatever de term ervoor is
Dan is het niet onverstandig de snellere (en zeker niet slechtere) variant te kiezen.
Mijn voorkeur heeft ie ook. En als we dan toch stukken php-code tonen, meestal doe ik zoiets:
PHP:
1
2
3
4
| $query = "select name,url from menu"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) echo "<li><a href=\"{$tool['url']}\">{$tool['name']}</a>\n"; |
Off-topic (in grote lettersFatamorgana schreef op 11 augustus 2002 @ 13:47:
Volgens mij geeft de code die jij aan de parser geeft niet altijd aan of die ook het beste is. Misschien is de parser wel zo slim om altijd de meest optimale code te gebruiken en maakt het niet altijd uit hoe je die opschrijft.
In veel gevallen is dat alleen zo als je een compiler gebruikt. Die kan het zich namelijk veroorloven om tijd te stoppen in het optimaliseren van allerlei constructies om zodoende een lekkere snelle code te gebruiken. Echter PHP parsed zijn scripts bij iedere uitvoer opnieuw (tenzij je accelerators gebruikt die uitvoerbare code cachen).
De Parser kan iets slimmer gemaakt worden met Zend Optimizer, maar ik vraag me af of dat echt helpt. Verder is, zoals gezegd, een paar instructies op dit niveau niet zo van belang.. Een loop die 20 queries veroorzaakt i.p.v. 1 is veel interessanter en die zal ik nooit (zeg nooit nooit) geoptimaliseerd worden door je parser / compiler.
|_____vakje______|
Prettige off-topic discussie vervolg:ACM schreef op 11 augustus 2002 @ 13:51:
[...]
Het scheelt behoorlijk veel in dit geval en zeker omdat het de while-iterator is (of whatever de term ervoor is) zal deze operatie relatief vaak uitgevoerd worden.
Dan is het niet onverstandig de snellere (en zeker niet slechtere) variant te kiezen.
list is een language construct en ik denk (zonder ooit de zend-engine-code bekeken te hebben) dat die intern wel dusdanig vertaald wordt zodat later gebruikte variabele $name en $url rechtstreeks naar de array verwijzen. Bovendien moeten voor de $row['field'] variant 2 look-ups (of whatever de term ervoor is
Verder is jouw (ACM) php-code al leuker omdat je {} gebruikt in je string, al is het gebruik van single-quotes (') sneller omdat daarin niks geparsed hoeft te worden. (echter, mijn voorbeeld met \n zal problemen opleveren).
|_____vakje______|
CyberSnooP schreef op 11 augustus 2002 @ 14:00:
Verder is jouw (ACM) php-code al leuker omdat je {} gebruikt in je string, al is het gebruik van single-quotes (') sneller omdat daarin niks geparsed hoeft te worden. (echter, mijn voorbeeld met \n zal problemen opleveren).
Volgens mij is het verschil tussen 'blaat' . $var . 'blaat' en "blaat {$var} blaat" makkelijker te verwaarlozen dan het verschil tussen while(list(...) = ..) en while($array = ...)
Maar ik heb nu geen zin dat te testen, pas bij meer dan 1000 loops waarbij je niets anders dan een simpele echo van je waarden doet is zoiets interessant. Tot die tijd boeit het allemaal nauwelijks imho, tenzij je natuurlijk een enorm zware site hebt waar elke milliseconde telt.
Pagina: 1