Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z menu
Forum PHP.pl > Forum > PHP
zetsu.dono
Mam taki problem:

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


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.
wujko_thc
$zap4_id = "SELECT * FROM ".$wiersz3['nazwa'];

na końcu to chyba cudzysłów powinien być:

$zap4_id = "SELECT * FROM $wiersz3['nazwa']";

bez kropek
jak z kropkami to
$zap4_id = 'SELECT * FROM '.$wiersz3['nazwa'].';

chyba tongue.gif
Xniver
@wujko_thc - akurat tutaj jest wszystko dobrze, gość używa lepszej metody(concatenation) ,a w tym twoim ostatnim kodzie jest błąd.

@topic

Dodaj po:
  1. <?php
  2. $zap4 = mysql_query($zap4_id);
  3. ?>


To:
  1. <?php
  2. if(!$zap4) exit(mysql_error());
  3. ?>


BTW, używaj tagów
Kod
[php][/php]
wujko_thc
Cytat(Xniver @ 18.07.2008, 20:50:46 ) *
@wujko_thc - akurat tutaj jest wszystko dobrze, gość używa lepszej metody(concatenation) ,a w tym twoim ostatnim kodzie jest błąd.


racja, a gdzie ten błąd ?
Xniver
$zap4_id = 'SELECT * FROM '.$wiersz3['nazwa'].';
Niezamknięty string(a pozatym po co kontantekacja z pustym stringiem?)

(nie dałem w tagu ponieważ wewnątrz niego nie wyświetla się poprawnie(tzn. automatycznie usuwa błąd))
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.