Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Include w pętli
Forum PHP.pl > Forum > Przedszkole
Otto
Witam mam kolejny problem ;/ Zrobiłem takie wczytywanie paneli i natrafiłem na problem w którym mogę załadować tylko pierwszy panel...
  1. $page = $_SERVER['PHP_SELF'];
  2. $q = mysql_query("SELECT panel_script FROM panels WHERE panel_page LIKE '%".$page."%' OR panel_page LIKE 'ALL' ORDER BY panel_position") or die(mysql_error());
  3. while ($r = mysql_fetch_array($q)) {
  4. include("panels/".$r['panel_script']);
  5. }


Skrypt "pobiera" dwa panele z czego ładuje plik tylko pierwszego

Zapytanie jest dobre bo pobiera to co chce (sprawdziłem)
Pliki które mają być załączone istnieją
nospor
A skad wiesz ze nie pobiera tego drugiego?
Czy w tym drugim masz kod:
echo 'Juhu, jestem drugi ';
i ty tego napisu nie widzisz?
Kod co podales jest prawidlowy. Jesli zapytanie zwraca ci dwa rekordy to te dwa include się wykonają. Byc moze kody w include masz takie ze jeden nadpisuje drugi lub cos podobnego. Wrozek nie ma smile.gif
Otto
Jeżeli w pierwszym panelu w include dam np

  1. <?php
  2. echo "TEST";
  3. ?>


To działa tak jak powinno czyli masz rację że kod w include coś psuje ale niestety nie wiem która część tego kodu to robi...

  1. <?php
  2.  
  3. echo "<div class='lefttop'>";
  4. echo "<div class='lefttop_left'>Wiadomości</div>"; // Nazwa Panelu
  5. echo "<div class='lefttop_right'><a href='panels/archiwum/wiadomosci.php'>Archiwum</a></div>"; // Rozszerzenie (można usunąć)
  6. echo "</div>";
  7. echo "<div class='leftbody'>";
  8.  
  9. // Początek
  10.  
  11. echo "<table width='368px' cellspacing='0'>";
  12.  
  13. $q = mysql_query("SELECT * FROM messages ORDER BY message_id LIMIT 3") or die(mysql_error());
  14. $i = "1";
  15. while($r = mysql_fetch_array($q)) {
  16. echo "<tr><td class='td".$i."'>";
  17. if ($i % 2) {
  18. $td2 = "";
  19. } else {
  20. $td2 = "border: 1px solid #b5b5b5; ";
  21. }
  22. echo "<img src='images/".$r['message_image']."' class='border1' style='".$td2."margin: 0 4px 0 0;' align='left'>";
  23. echo "<span class='red_bold'><a href='news.php?id=".$r['message_id']."' class='red'>".$r['message_title']."</a></span><br>";
  24. echo "<span class='grey'>Dodał <a href='user.php?name=".$r['message_autor']."' class='grey'>".$r['message_autor']."</a> dnia ";
  25. echo data("date", $r['message_time'])."</span><br>";
  26. echo trim(substr($r['message_text'], 0, 120))."...";
  27. echo "<span class='comments'><a href='news.php?id=".$r['message_id']."#comments' class='red'>Komentarze (20)</a></span>";
  28. echo "</td></tr>";
  29. $i++;
  30. }
  31.  
  32. echo "</table>";
  33.  
  34. // Koniec
  35.  
  36. echo "</div>";
  37.  
  38. ?>
lukasz_os
W linii 15 masz:
  1. while($r = mysql_fetch_array($q)) {


Po prostu nadpisujesz zmienną $r i dlatego nie wczytuje Tobie drugiego panelu.
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.