| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 10.12.06 Prihlásený: 12.05.10 Príspevky: 22 Témy: 6 |
v php niesom moc zdatny ale pokusal som sa stvorit lave menu na stranke, ktore by sa generovalo z pola (ktore by sa neskor nacitavalo z mysql ale zatial je pevne) a switchovalo by to obsah (sksual som pouzit vo switchi pouzit foreach ale ten nesiel) som to skusil takto poriesit ale nejde mi to:
Kód: <?php $men=array ( 'kram'=>array('prvy', 'popis prva','one.php'), 'irt'=>array('druhy', 'popis druha','dva.php'), ); foreach($men as $ind=>$popis){ echo "<li>"; echo "<a href=\"index.php?cat=gal&vlavo=".$ind."\">"; echo $popis[0]; //prva hodnota po, echo "</a> "; echo $popis[1]; //druha honota po, echo "</li>"; }; $_GET['vlavo']=$vlavo; if ($vlavo==null): include ("data/galeria/uvod.php"); foreach($men as $ind=>$popis){
elseif ($vlavo==$ind): include ("data/galeria/$popis[2]"); //toto mam zle
} elseif (isset ($vlavo)): include ("data/galeria/uvod.php"); endif; ?>
za pomoc dakujem
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
Áno máš to zlé a to z naledujúcich dôvodov:
Kód: foreach($men as $ind=>$popis){
elseif ($vlavo==$ind): include ("data/galeria/$popis[2]"); //toto mam zle
} Ak sa na kód pozrieme lepšie ... máme tu elseif ... ale nemáme if. PHP nefunguje tak, že niekde dáš if ... potom dať cyklus s elseif a po cykly niekde else. To čo je v cykly sa spravuváva samostatne, takže ti treba dorobiť celú podmienku. Taktiež máš veľmi čudne vytvorené pole, a zdá sa mi, že nemáš ani predstavu, čo si vlastne vygeneroval. Taktiež sa mi zdá že veci príliš komplikuješ. Kód: <?php
switch ($_GET["vlavo"]){
case "tu_daj_nejaku_moznu_hodnotu_z_vlavo": $site = "stranka_ktora_sa_ma_includovat.php"; break;
case "tu_daj_nejaku_inu_hodnotu_z_vlavo": $site = "stranka_ktora_sa_ma_includovat.php"; break;
case "tu_daj_nejaku_dalsiu_moznu_hodnotu_z_vlavo": $site = "stranka_ktora_sa_ma_includovat.php"; break;
default: $site = "stranka_ktora_sa_nacita_ked_nic_ine nesedi.php"; break; }
include $site; // samotný include
Ak nevieš ako funguje switche, odporúčam pozrieť si to na internete, je to jednoduché.
|
|
Registrovaný: 10.12.06 Prihlásený: 12.05.10 Príspevky: 22 Témy: 6 | Napísal autor témy keno 10: 20.02.2010 0:10 | |
|
switch viem ako sa pouziva ale nasiel som si tam zopar chyb, opravil som si to a uz to funguje a robi to co som chel aby to robilo asi sme sa nepochopili
stranky.php
Kód: <?php $men=array ( 'testa'=>array('testujem link 1','popis prveho linku','one.php'), 'test3'=>array('link cislo 2','obkec ruheho linku','dva.php'), 'test8s'=>array('treti lincik','blaboli o tretom','tri.php'), ); ?> index.php Kód: <?php if (isset($_GET['vlavo'])) { include ("data/kontakt/stranky.php"); $vlavo=$_GET['vlavo']; foreach($men as $ind=>$popis) { //staci zmenit iba stranky.php ak treba pridat podstranky switch($vlavo) { case $ind: include("data/kontakt/$popis[2]"); } if ($vlavo==$ind) break; } } else { include("data/kontakt/uvod.php"); } ?> menu.php Kód: <?php include ("data/kontakt/stranky.php"); foreach($men as $ind=>$popis){ echo "<li>"; echo "<a href=\"index.php?cat=kont&vlavo=".$ind."\">"; echo $popis[0]; //nazov linku, echo "</a> "; echo $popis[1]; //popis linku, echo "</li>"; } ?>
premyslam este ze bi som si to rozsekal na funkcie, ked to pouzivam castejsie
|
|
Registrovaný: 10.12.06 Prihlásený: 12.05.10 Príspevky: 22 Témy: 6 | Napísal autor témy keno 10: 26.02.2010 18:10 | |
|
mam s tymto problem, pokusal som sa to pole nacitat z databazy a stroskotal som na tom, ze neviem ako to mam presne definovat, aby som to pole dostal v rovnakom tvare
Kód: /*$men=array ( 'testa'=>array('testujem link 1','popis prveho linku','one.php'), 'test3'=>array('link cislo 2','obkec ruheho linku','dva.php'), 'test8s'=>array('treti lincik','blaboli o tretom','tri.php'), ); $men=null; */ $sql = "SELECT `hodnota`, `link`, `popis`, `subor` FROM `vlavo_akt`";
$vysledok = mysql_query($sql); $riaddkov=mysql_num_rows($vysledok); while ($me = mysql_fetch_array($vysledok)) { foreach ($me as $ind=> $popis){ $men[$me["hodnota"]][$ind]=$popis; } ; }
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
Kód: while(list($hodnota, $link, $popis, $subor) = mysql_fetch_row($vysledok)) { $men[$hodnota] = array($link, $popis, $subor); }
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 10.12.06 Prihlásený: 12.05.10 Príspevky: 22 Témy: 6 | Napísal autor témy keno 10: 26.02.2010 21:21 | |
|
dakujem funguje
|
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|