Въпрос относно масивите и тяхните функции

lfc321

Registered
Понеже сега навлизам в php езика и ми е нужна малко помощ за една задачка, с която не съм много наясно.

Във функция listPages() и да се визуализира лявото меню на проекта на базата на елементите на този масив
- това е задачката.

Да приемем че това е менюто:

Код:
<ul>
    <li><a href=''>haha1</a>
    <li><a href=''>haha2</a>
    <li><a href=''>haha3</a>
    <li><a href=''>haha4</a>
    <li><a href=''>haha5</a>
</ul>

А това е масива:
Код:
$pages=array
    (
        1 => array(
            "a" => 1,
            "b" => "kkk",
            "c" => "ggg",
            "d" => "eee",
            "e" => "hhh",
            "f" => "ttt"
            ),
        2 => array(
            "a" => 2,
            "b" => "qqq",
            "c" => "aaa",
            "d" => "sss",
            "e" => "xxx",
            "f" => "zzz"
            ),
        3 => array(
            "a" => 3,
            "b" => "lll",
            "c" => "mmm",
            "d" => "nnn",
            "e" => "ppp",
            "f" => "www"
            ),
        4 => array(
            "a" => 4,
            "b" => "uuu",
            "c" => "rrr",
            "d" => "iii",
            "e" => "wes",
            "f" => "wwa"
            )
);
 
Трябва да "обходиш" целия масив. Не се знае колко е голям - затова се използва foreach.

PHP:
echo "<ul>";
foreach ( $pages as $element ) {
/* сега вече в $element имаме това:
 * array ( "a" => 1, "b" => 2, "c" => 3 ..... );
 * ти ще си го изведеш както ти трябва на теб
*/
$a = $element['a'];
$b = $element['b'];
echo '<li><a href="$a">$b</a></li>';
}
echo "</ul>";
 
аха така ги превръщам в линкове. А как да направя така че примерно като цъкна първия линк от менюто "haha1" и да вляза в друга страница, където ми зарежда примерно елемент "c" и "d" от първия под-масив ?
 
lfc321 каза:
аха така ги превръщам в линкове. А как да направя така че примерно като цъкна първия линк от менюто "haha1" и да вляза в друга страница, където ми зарежда примерно елемент "c" и "d" от първия под-масив ?
Можеш да подадеш елементите като $_GET:

PHP:
$a = $element['a'];
$b = $element['b'];
$c = $element['c'];'
$d = $element['d'];
echo '<li><a href="$a?c=$c&d=$d">$b</a></li>';
И после в страницата с име "$a":

PHP:
$c = $_GET['c'];
$d = $_GET['d'];
Така например ако $a, $c i $d са съответно "page2.php", "999" и "111", ще се получи това:

www.example.com/page2.php?c=999&d=111
 
lfc321 каза:
Би ли написал някакъв кратък пример. Не ми е много ясно.
Ето това го слагаш при менюто:
PHP:
$a = $element['a'];
$b = $element['b'];
$c = $element['c'];
$d = $element['d'];
echo '<li><a href="$a?c=$c&d=$d">$b</a></li>';
a следното го слагаш в страницата, към която води $a:

PHP:
$c = $_GET['c'];
$d = $_GET['d'];
echo "Заредихте страницата еди-коя си с подадени параметри $c и $d";

Тоест имаш една главна страница с меню и няколко други страници, в които слагаш последното. Имената на въпросните няколко страници стоят в първоначалния масив в елемент"а".

PHP:
$pages = array(
	1 => array(
		'a' => 'page1.php', //име на страницата
		'b' => 'този линк води към page1.php',//текст на линка
		'c' => 'parametyr "c" na page1',// това са
		'd' => 'parametyr "d" na page1'// параметрите
	) ,
	2 => array(
		'a' => 'page2.php', //име на страницата
		'b' => 'този линк води към page2.php',//текст на линка
		'c' => 'parametyr "c" na page2',// това са
		'd' => 'parametyr "d" na page2'// параметрите
	) ,
);
 

Back
Горе