Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Include w pętli
Otto
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 7
Dołączył: 22.03.2010

Ostrzeżenie: (0%)
-----


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ą
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Otto
post
Post #3





Grupa: Zarejestrowani
Postów: 144
Pomógł: 7
Dołączył: 22.03.2010

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
lukasz_os
post
Post #4





Grupa: Zarejestrowani
Postów: 203
Pomógł: 55
Dołączył: 23.11.2008
Skąd: UKF

Ostrzeżenie: (0%)
-----


W linii 15 masz:
  1. while($r = mysql_fetch_array($q)) {


Po prostu nadpisujesz zmienną $r i dlatego nie wczytuje Tobie drugiego panelu.


--------------------
Pomagam jeśli mam czas oraz jak się na tym znam :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:02