Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: pudotusvalikko

eMZii [18.06.2008 15:36:49]

#

php:llä toteutettu simppeli pudotusvalikko joka hakee linkit csv-tiedostoista.

Kategorioita varten tarvitaan csv-tiedosto jossa on linkin nimi per rivi. Jokaista alakategoriaa varten tulee olla saman niminen csv-tiedosto josta haetaan alivalikon linkit ja niiden kohteet.

Tiedot voi toki hakea samalla periaatteella myös tietokannasta.

categories.csv

Lorem
Dolor
Consectetuer
Facilisis

lorem.csv, dolor.csv, jne

Suspendisse,suspen.php
Tempor,tempor.php
Purus diam,purus.php
Scelerisque,sceler.php
<?
$categories = fopen("categories.csv", "r"); //avataan kategoriat sisältävä tiedosto

	while (!feof($categories))
	{
	$link = fgetcsv($categories, 1024);

		 //tulostetaan linkki jolla valikko avataan tai suljetaan muuttujan $_GET['show'] avulla
		if($_GET['show'] == $link[0]) //jos kategoria on jo auki tulostetaan linkki jolla se suljetaan
		{
		echo'<a href="?show=none">'.$link[0].'</a><br />';
		}
		else //muuten tulostetaan linkki jolla se avataan
		{
		echo'<a href="?show='.$link[0].'">'.$link[0].'</a><br />';
		}

			//jos linkkiä painetaan, tulostetaan sen alapuolelle submenu
			//linkin nimeä vastaavasta csv-tiedostosta
			if($_GET['show'] == $link[0])
			{
			$sub = fopen($link[0] . ".csv", "r");

				while (!feof($sub))
				{
				$sublink = fgetcsv($sub, 1024);

				//tulostetaan linkki jossa rivin ensimmäinen sana on linkin nimenä, ja toinen kohdetiedostona
				echo'<li><a href="'.$sublink[1].'?show='.$link[0].'">'.$sublink[0].'</a></li>';

				//huom. jotta menu pysyisi auki kun linkkiä painetaan täytyy
				//parametri show välittää myös alakategorioiden linkeissä
				}

			}

	}
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta