Skocz do zawartości

Problem z talicami w php


piotreek

Rekomendowane odpowiedzi

Witam

tworzę prosty skrypt do pobierania menu z tabeli mysql

taką mam strukturę bazy:

CREATE TABLE `cats` (
 `id` int(3) NOT NULL auto_increment,
 `cid` varchar(20) NOT NULL,
 `ctitle` varchar(128) NOT NULL,
 `link` varchar(20) NOT NULL,
 `title` varchar(128) NOT NULL,
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin2 AUTO_INCREMENT=11 ;

i taki skrypt do pobierania tego:

$stmt = $pdo -> query('SELECT * FROM cats');
$leftmenu = array();
foreach($stmt as $row) {
   $leftmenu[$row['cid']]['title'] = $row['ctitle'];
 $leftmenu[$row['cid']]['dane'] = $row;
}
$stmt -> closeCursor();

w tpl mam kod który chciałbym aby mi to wszystko przetworzył na html

	
{foreach value=value from=$leftmenu}
	<h3>{$value[title]}</h3>
<ul>
   {foreach value=value2 from=$value[dane]}
			        <li><a href="/{$value2[cid]}/{$value2[link]}/">{$value2[title]}</a></li>
   {/foreach}
	</ul>
{/foreach}

i nie wiem czemu dostaje taki wynik:

<h3 class="tog">Filmy</h3>
	[list]
[*][url="https:///4/4/"]4[/url]


[*][url="https:///4/4/"]4[/url]

[*][url="https:///f/f/"]f[/url]

[*][url="https:///f/f/"]f[/url]

[*][url="https:///F/F/"]F[/url]

[*][url="https:///F/F/"]F[/url]

[*][url="https:///d/d/"]d[/url]


[*][url="https:///d/d/"]d[/url]

[*][url="https:///D/D/"]D[/url]

[*][url="https:///D/D/"]D[/url]
[/list]
		<h3 class="tog">Muzyk</h3>
	[list]
[*][url="https:///6/6/"]6[/url]


[*][url="https:///6/6/"]6[/url]

[*][url="https:///m/m/"]m[/url]

[*][url="https:///m/m/"]m[/url]

[*][url="https:///M/M/"]M[/url]

[*][url="https:///M/M/"]M[/url]

[*][url="https:///z/z/"]z[/url]


[*][url="https:///z/z/"]z[/url]

[*][url="https:///Z/Z/"]Z[/url]

[*][url="https:///Z/Z/"]Z[/url]
[/list]
		<h3 class="tog">Programy</h3>
	[list]
[*][url="https:///8/8/"]8[/url]


[*][url="https:///8/8/"]8[/url]

[*][url="https:///p/p/"]p[/url]

[*][url="https:///p/p/"]p[/url]

[*][url="https:///P/P/"]P[/url]

[*][url="https:///P/P/"]P[/url]

[*][url="https:///l/l/"]l[/url]


[*][url="https:///l/l/"]l[/url]

[*][url="https:///L/L/"]L[/url]

[*][url="https:///L/L/"]L[/url]
[/list]

print_r dla tablicy wygenerowanej przez skrypt daje coś takiego:

Array
(
   [filmy] => Array
       (
           [title] => Filmy
           [dane] => Array
               (
                   [id] => 4
                   [0] => 4
                   [cid] => filmy
                   [1] => filmy
                   [ctitle] => Filmy
                   [2] => Filmy
                   [link] => dvd
                   [3] => dvd
                   [title] => DVD
                   [4] => DVD
               )

       )

   [muzyka] => Array
       (
           [title] => Muzyk
           [dane] => Array
               (
                   [id] => 6
                   [0] => 6
                   [cid] => muzyka
                   [1] => muzyka
                   [ctitle] => Muzyk
                   [2] => Muzyk
                   [link] => zagraniczna
                   [3] => zagraniczna
                   [title] => Zagraniczna
                   [4] => Zagraniczna
               )

       )

   [programy] => Array
       (
           [title] => Programy
           [dane] => Array
               (
                   [id] => 8
                   [0] => 8
                   [cid] => programy
                   [1] => programy
                   [ctitle] => Programy
                   [2] => Programy
                   [link] => linux
                   [3] => linux
                   [title] => Linux
                   [4] => Linux
               )

       )

   [gry] => Array
       (
           [title] => Gry
           [dane] => Array
               (
                   [id] => 10
                   [0] => 10
                   [cid] => gry
                   [1] => gry
                   [ctitle] => Gry
                   [2] => Gry
                   [link] => konsole
                   [3] => konsole
                   [title] => Konsole
                   [4] => Konsole
               )

       )

)

więc wydaje mi się że problem tkwi w szablonie, z góry dzięki za pomoc, a może ktoś znajdzie lepszy sposób od mojego na prezentację menu

foot.gif

Programista PHP / sql www.grzelka.info

Odnośnik do komentarza
Udostępnij na innych stronach

zrobiłem

$stmt = $pdo -> query('SELECT * FROM cats');
 $leftmenu = array();
 foreach($stmt as $row) {
 $leftmenu[$row['cid']]['title'] = $row['ctitle'];
 $leftmenu[$row['cid']]['dane'] []= $row;  // tu brakowało []
 }
 $stmt -> closeCursor();

foot.gif

Programista PHP / sql www.grzelka.info

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności