Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][tpl] pętla while
Forum PHP.pl > Forum > Przedszkole
krystian1991x
Coś mi pętla nie działa chodź w innym skrypcie zrobiona tak samo działa perfekto ...

kod tpl

  1.  
  2.  
  3. {foreach from=$result key=myId item=news name=news}
  4. <div style="margin-top: 25px;margin-left: 78px; width: 483px; height: 280px; background-image: url('templates/images/bgnews.jpg');">
  5. <table style="font-family: Arial;font-size: 18px; color: #e1d2d2; margin-left: 11px; margin-top: 10px;width: 465px; height: 51px; background-repeat: repeat-x; background-image: url('templates/images/titlenews.jpg');">
  6. <tr>
  7. <td style="padding-left: 8px;padding-bottom: 10px;">{$news.title}</td>
  8. </tr>
  9. <table style="fotn-size: 12px;color: #acacac;">
  10. <tr>
  11. <td style="padding-left: 25px; padding-top: 10px;"><img src="templates/images/{$news.img}.jpg" align='left' />{$news.text}</td>
  12. </tr>
  13. </div>
  14. {/foreach}

kod php
  1. <?php
  2.  
  3. require('cfg.php');
  4. require_once('login.php');
  5. $smarty = new Smarty;
  6. $result = mysql_query("SELECT id, title, author, text, img, date FROM news ORDER BY id ASC")
  7. or die("Niepoprawne zapytanie MySQL");
  8.  
  9.  
  10. while ($news = mysql_fetch_array($result))
  11. {
  12. $tablica[] = $news;
  13.  
  14. }
  15.  
  16. $smarty->assign('result',$tablica);
  17.  
  18.  
  19. $smarty->display('news.tpl');
  20.  
  21. ?>


Bądź tu mądry i pisz wiersze dodam że plik jest wczytywany do pliku index

co takie trudne ? hmm chyba muszę dać w inny dział w takim razie ?

CO TU JEST NIE TAK ?!

widzę że samy profesjonaliści zasiadają na tym forum aaevil.gif

blabalbalba sciana.gif sciana.gif sciana.gif sciana.gif
thek
Kod wygląda na w porządku, ale nie wiemy jakie błędy wypluwa smarty lub strona bądź sama baza. Przełącz smarty na tryb z debugiem i sam zobacz czy aby przechodzi tablica, czy zapytanie zwraca cokolwiek w wyniku.

A skoro już ta bardzo nie podoba Ci się czas reakcji to zwróć uwagę, że temat napisałeś w niedzielę, gdy ludzie zazwyczaj odpoczywają i nie muszą specjalnie siedzieć na forum by Ci odpowiedzieć. Nikt nikomu za to nie płaci byś dostał odpowiedź w kilka minut czy określonym, małym, przedziale czasu. Tak więc daruj sobie złośliwości...
krystian1991x
Powiem tak gdy odpalę skrypt bezpośrednio po przez dopisanie news.php skrypt się odpala a gdy jest includowany to już nie sad.gif zrobiłe jak narazie tak i działa ale to jest kiczowate jak bym miał tak każdą podstrone robić ... ;(

index.php
  1. <?php
  2. require('libs/Smarty.class.php');
  3. require('cfg.php');
  4. require_once('login.php');
  5. require_once('news.php');
  6. $smarty = new Smarty;
  7.  
  8. $smarty->assign('site', $site);
  9. $smarty->assign('points', $_SESSION['points']);
  10. $smarty->assign('id', $_SESSION['zalogowany']);
  11. $smarty->assign('login2', $_SESSION['login2']);
  12. $smarty->assign('result',$tablica);
  13. $smarty->display('index.tpl');
  14.  
  15. ?>


najzwyczajniej w świecie nikt nie wiem co jest nie tak sleep.gif
thek
Wina może leżeć po stronie include. Mogą nie zgadzać się ścieżki do plików. Dam Ci przykład... Masz plik główny main.php, w nim includujesz plik children.php będący w innym katalogu, przypuśćmy /dir1 względem main.php . Ten dołączany includuje jeszcze inny sibling.php będący w /dir2 względem children.php smile.gif Mamy więc strukturę
|-main.php
|-dir1
| |-children.php
| |-dir2
| | |-sibling.php
Jaka ścieżka będzie prowadziła do sibling.php i czy uruchomienie osobno children.php oraz main.php zaprowadzi do niej czy wysypie się na ścieżkach? smile.gif O tym baaaaardzo wielu początkujących programistów zapomina.

Pamiętaj, że ścieżki są obliczane na podstawie pliku uruchamiającego, czyli tutaj main.php i jeśli wewnątrz children.php masz linijkę include sibling.php to system jej nie będzie szukał jako /dir1/dir2/sibling.php ale będzie szukał dir2 względem main.php (!), a więc /dir2/sibling.php i tutaj wychodzi różnica pomiędzy funkcjami include a require. Jaka? Polecam zerknąć do manuala winksmiley.jpg
krystian1991x
ja mam tak folder główny

index.php
news.php
login.php

w templates mam

index.tpl
news.tpl
login.tpl

i teraz jest tak że cała struktura wczytuje się do index.tpl po przez include
czyli ładuje się do indexu tpl dodatkowo news.tpl oraz login.tpl. Dodam że na miliard procent ścieżki są dobre bo o ile w przypadku news.tpl nic się nie wczytuje to w login.tpl wczytuje się formularz do logowania ale nie działa smile.gif i dajmy na to jeżeli usune z news.tpl pętle i dam samą tabelkę newsa to ją wyświetli normalnie ^^ Podam jeszcze może kod dokładnie
index.php - folder główny
  1. <?php
  2. require('libs/Smarty.class.php');
  3. require('cfg.php');
  4.  
  5. $smarty = new Smarty;
  6.  
  7.  
  8.  
  9.  
  10.  
  11. $smarty->display('index.tpl');
  12.  
  13. ?>

index.tpl - folder templates
  1. <!doctype html public "-//w3c//dtd html 4.01 transitional//en">
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  4. <meta name="generator" content="pspad editor, www.pspad.com">
  5. <link rel="stylesheet" type="text/css" href="templates/style.css" />
  6. </head>
  7. <body>
  8. <div id="site">
  9. <div id="head">
  10. <div id="login">{include file="login.tpl"}</div>
  11. </div>
  12. <div id="menu">
  13. <div style="padding-left: 35px;">
  14. <table cellspacing="0" cellpadding="0"><tr>
  15. <td><a href="index.php?id=news"><img border="0" src="templates/images/aktualnosci.jpg"></a></td><td><img border="0" src="templates/images/kreska.jpg"></td>
  16. <td><a href="index.php?id=multimedia"><img border="0" src="templates/images/multimedia.jpg"></a></td><td><img border="0" src="templates/images/kreska.jpg"></td>
  17. <td><a href="#"><img border="0" src="templates/images/download.jpg"></a></td><td><img border="0" src="templates/images/kreska.jpg"></td>
  18. <td><a href="#"><img border="0" src="templates/images/artykuly.jpg"></a></td><td><img border="0" src="templates/images/kreska.jpg"></td>
  19. <td><a href="#"><img border="0" src="templates/images/forum.jpg"></a></td><td><img border="0" src="templates/images/kreska.jpg"></td>
  20. <td><a href="#"><img border="0" src="templates/images/faq.jpg"></a></td><td><img border="0" src="templates/images/kreska.jpg"></td>
  21. <td><a href="#"><img border="0" src="templates/images/kontakt.jpg"></a></td>
  22. </tr></table>
  23. </div>
  24. </div>
  25. <div>
  26.  
  27. {include file="news.tpl"}
  28. </div>
  29. </div>
  30. </body>
  31. </html>


news.php - folder główny
  1. <?php
  2.  
  3. require('cfg.php');
  4.  
  5. $smarty = new Smarty;
  6.  
  7. $result = mysql_query("SELECT id, title, author, text, img, date, commnets FROM news ORDER BY id ASC")
  8. or die("Niepoprawne zapytanie MySQL");
  9.  
  10.  
  11. while ($news = mysql_fetch_array($result))
  12. {
  13. $tablica[] = $news;
  14.  
  15. }
  16.  
  17. $smarty->assign('result',$tablica);
  18.  
  19.  
  20.  
  21. $smarty->display('news.tpl');
  22. ?>


już mam ....................... Wystarczyło zamienić {include file=""} na {include_php file=""}
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.