Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: generowanie dynamicznego menu
Forum PHP.pl > Inne > Hydepark
menic
No to mam kolejny problem z generowaniem kodu JS przez php sad.gif
Musze stworzyć coś takiego
Kod
    a.add(0,-1,'Moduły','javascript: void(0);');

    

    a.add(1, 0,'<b>Użytkownicy</b>','javascript:void(0);');

    a.add(2, 1,'Ustawienia','javascript:void(0);');

    a.add(3, 2,'zmien tytul','javascript:void(0);');

    a.add(4, 2,'zmien styl','javascript:void(0);');

    a.add(5, 2,'deaktywuj','javascript:void(0);');

    a.add(6, 2,'Strona glowna','javascript:void(0);');

    a.add(7, 1,'Dostepy','javascript:void(0);');

    a.add(8, 7,'przegladanie','javascript:void(0);');

    a.add(9, 7,'uzywanie','javascript:void(0);');

    a.add(10, 7,'administracja','javascript:void(0);');

    a.add(11, 1,'stworz alias','javascript:void(0);');



    a.add(12, 0,'<b>newsy</b>','javascript:void(0);');

    a.add(13, 12,'Ustawienia','javascript:void(0);');

    a.add(14, 13,'zmien tytuł','javascript:void(0);');

    a.add(15, 13,'zmien styl','javascript:void(0);');

    a.add(16, 13,'deaktywuj','javascript:void(0);');

    a.add(17, 13,'strona glowna','javascript:void(0);');

    a.add(18, 12,'Dostepy','javascript:void(0);');

    a.add(19, 18,'przegladanie','javascript:void(0);');

    a.add(20, 18,'uzywanie','javascript:void(0);');

    a.add(21, 18,'administracja','javascript:void(0);');

    a.add(22, 12,'stworz alias','javascript:void(0);');

Jest to drzewko w JS. Jak łatwo zauważyc pierwsza liczba jest id galezi, natomiat druga jest id ojca.
I teraz tyle ile jest danych w bazie danych ma zostac tyle samo wygenerowanych blokow.
Tutaj bloki są rozdzielone nowa linia, aby bylo czytelniej (2 bloki). Tak by wygladał najprostrzy opis. Bo oczywiscie w zaleznosci od danych z bazy niektore galezie moga wygladac inaczej, ale jezeli mi sie uda to poprawnie wygenerowac tak aby wszedzie była jednolita struktura to potem powinno pujść gladko winksmiley.jpg
Mam nadzieje ze ktos wpadnie na jakis pomysł bo ja nie mam zielonego pojecia sad.gif
menic
Dzieki serafin ale już zrobiłem. Jak zawsze musze sobie ze wszystkim sam radzić tongue.gif A jak by ktoś szukał to niech sie przynajmniej nie męczy smile.gif [php:1:e84d1329b5]<?php
function t()
{
global $px;


$j=0;
$w = 1;

echo "<table width="200" border="0">
<tr>
<td>
<script type="text/javascript">
<!--
a = new dTree('a');


a.config.useCookies=false;
a.add(0,-1,'Moduły','java script: a.closeAll();');";

$sql = "SELECT * FROM {$px}modules";
$query = mysql_query( $sql );

for( $i=1; $q = mysql_fetch_assoc( $query ); $i++ )
{
echo "a.add(".($c = ($i++)).", 0,'<b>".$q['name']."</b>','java script:void(0);');
a.add(".($a = ($i++)).", ".$w.",'Ustawienia','java script:void(0);');
a.add(".($i++).", ".$a.",'zmien tytul','java script:void(0);');
a.add(".($i++).", ".$a.",'zmien styl','java script:void(0);');
a.add(".($i++).", ".$a.",'deaktywuj','java script:void(0);');
a.add(".($i++).", ".$a.",'Strona glowna','java script:void(0);');
a.add(".($b = ($i++)).", ".$w.",'Dostepy','java script:void(0);');
a.add(".($i++).", ".$b.",'przegladanie','java script:void(0);');
a.add(".($i++).", ".$b.",'uzywanie','java script:void(0);');
a.add(".($i++).", ".$b.",'administracja','java script:void(0);');
a.add(".($i).", ".$w.",'stworz alias','java script:void(0);');";


if( file_exists( 'modules/'.$q['name'].'/admin/system/config_form'.$GLOBALS['php'] ) )
{
echo "a.add(".(++$i).", ".$c.",'ustawienia modulu','java script:void(0);');";
}

if( @file_exists( 'modules/'.$q['name'].'/admin/system/menu'.$GLOBALS['php'] ) )
{
include( 'modules/'.$q['name'].'/admin/system/menu'.$GLOBALS['php'] );
$w = $c;
$w++;
}
$w = $w + 11;
if( file_exists( 'modules/'.$q['name'].'/admin/system/config_form'.$GLOBALS['php'] ) )
{
++$w;
}
}

echo "document.write(a);
//-->
</script>
</td></tr></table>";
}
?>[/php:1:e84d1329b5]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.