[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
riesenie includu z pola

Registrovaný: 10.12.06
Prihlásený: 12.05.10
Príspevky: 22
Témy: 6 | 6
NapísalOffline : 19.02.2010 22:03 | riesenie includu z pola

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&amp;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


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 19.02.2010 22:25 | riesenie includu z pola

Á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é.


Offline

Užívateľ
Užívateľ
riesenie includu z pola

Registrovaný: 10.12.06
Prihlásený: 12.05.10
Príspevky: 22
Témy: 6 | 6
Napísal autor témyOffline : 20.02.2010 0:10 | riesenie includu z pola

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&amp;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


Offline

Užívateľ
Užívateľ
riesenie includu z pola

Registrovaný: 10.12.06
Prihlásený: 12.05.10
Príspevky: 22
Témy: 6 | 6
Napísal autor témyOffline : 26.02.2010 18:10 | riesenie includu z pola

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;
    } ;
   } 
   


Offline

Správca fóra
Správca fóra
riesenie includu z pola

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 26.02.2010 18:58 | riesenie includu z pola

Kód:
while(list($hodnota, $link, $popis, $subor) = mysql_fetch_row($vysledok)) {
   $men[$hodnota] = array($link, $popis, $subor);
}


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
riesenie includu z pola

Registrovaný: 10.12.06
Prihlásený: 12.05.10
Príspevky: 22
Témy: 6 | 6
Napísal autor témyOffline : 26.02.2010 21:21 | riesenie includu z pola

dakujem funguje ;)


 [ Príspevkov: 6 ] 


riesenie includu z pola



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

zaujimave riesenie

v Modifikácie, návody a projekty

11

1479

07.08.2006 4:08

jayrro

V tomto fóre nie sú ďalšie neprečítané témy.

Riešenie križovatky

v Automobily, motorky

26

449

26.06.2017 19:53

Cirky

V tomto fóre nie sú ďalšie neprečítané témy.

Sync riesenie

v Ostatné programy

1

127

04.06.2015 19:37

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

Galeria, riešenie

v PHP, ASP

28

1163

19.05.2008 21:51

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Najlepšie riešenie

v Notebooky a netbooky

17

357

10.08.2013 14:56

buben103

V tomto fóre nie sú ďalšie neprečítané témy.

Wifi riesenie

v Rozširujúce karty

6

197

19.07.2013 15:54

mentox

V tomto fóre nie sú ďalšie neprečítané témy.

Facebook riesenie

v Ostatné

2

300

31.08.2010 18:16

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Riešenie WIFI

v Siete

22

786

16.08.2010 22:55

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Riesenie zdroja

v Ostatné

6

344

06.08.2007 16:53

br4n0

V tomto fóre nie sú ďalšie neprečítané témy.

Docasne riesenie zvuku

v Zvuk

4

277

24.12.2009 14:45

mirom

V tomto fóre nie sú ďalšie neprečítané témy.

riesenie cez CMS

v Redakčné systémy

0

477

16.02.2011 16:58

1987123

V tomto fóre nie sú ďalšie neprečítané témy.

Riesenie novej siete

v Siete

1

220

29.12.2010 15:57

RomanB

V tomto fóre nie sú ďalšie neprečítané témy.

Riesenie mojho problemu

v Pevné disky a radiče

8

380

14.12.2007 21:42

Triplespace

V tomto fóre nie sú ďalšie neprečítané témy.

lacné riešenie DDNS

v Siete

0

88

19.11.2012 18:18

Bokos

V tomto fóre nie sú ďalšie neprečítané témy.

Pokrocile WLAN riesenie

v Ostatné

1

180

18.01.2011 16:35

majky358

V tomto fóre nie sú ďalšie neprečítané témy.

terminalove stanice riesenie

v Ostatné programy

0

258

08.04.2010 15:23

eman22



© 2005 - 2017 PCforum, edited by JanoF