Napisałem już panel administratora na stronie, który zmienia położenie menu - po lewej lub po prawej (w bazie danych tabela menu_pos, kolumna strona) i pozycję tego menu (w tej tabeli kolumna numer). Ta tabela ma też kolumnę nazwa, która zawiera nazwę, która jest wyświetlana w nagłówku danego bloku menu i która jest też nazwą tabeli, w której znajduje się zawartość danego menu, czyli linki (np. jeżeli w polu nazwa jest 'nawigacja', istnieje też tabela nawigacja z linkami w tym menu). Wszystko jest niby ok, tylko problem z wyświetleniem.
Kod
<?
$zap3_id = "SELECT * FROM menu_pos WHERE strona = 'left'";
$zap3 = mysql_query($zap3_id);
while($wiersz3 = mysql_fetch_assoc($zap3))
{
$zap4_id = "SELECT * FROM ".$wiersz3['nazwa'];
$zap4 = mysql_query($zap4_id);
$wiersz4 = mysql_fetch_assoc($zap4);
?>
<div id="menu"><center>
<div id="menu_header">
<div class="val_menu_head"><br></div>
</div>
<div id="menu_value">
<!-- ZAWARTOŚĆ MENU 1 PO LEWEJ -->
<div style="margin-top: 3px;"></div>
<ul style="list-style-image: url(themes/default/star.jpg); margin-top: 0px; margin-bottom: 0px; margin-left: 0px;">
</ul>
</div>
<div id="menu_bottom"></div>
<br>
</center></div>
<!-- KONIEC MENU -->
<?
}
?>
$zap3_id = "SELECT * FROM menu_pos WHERE strona = 'left'";
$zap3 = mysql_query($zap3_id);
while($wiersz3 = mysql_fetch_assoc($zap3))
{
$zap4_id = "SELECT * FROM ".$wiersz3['nazwa'];
$zap4 = mysql_query($zap4_id);
$wiersz4 = mysql_fetch_assoc($zap4);
?>
<div id="menu"><center>
<div id="menu_header">
<div class="val_menu_head"><br></div>
</div>
<div id="menu_value">
<!-- ZAWARTOŚĆ MENU 1 PO LEWEJ -->
<div style="margin-top: 3px;"></div>
<ul style="list-style-image: url(themes/default/star.jpg); margin-top: 0px; margin-bottom: 0px; margin-left: 0px;">
</ul>
</div>
<div id="menu_bottom"></div>
<br>
</center></div>
<!-- KONIEC MENU -->
<?
}
?>
Oczywiście w odpowiednich miejscach między divami mają być dane pobrane z bazy.
Problem jest taki - pierwsze menu wyświetla się dobrze, ale przed drugim pojawia się błąd - mysql_fetch_assoc() supplied argument is not a valid MySQL command czy jakoś tak. Dodam, że sprawdzałem i $zap4_id jest dobrze napisane.