Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]przejscie na smarty
Forum PHP.pl > Forum > Przedszkole
17misiek09
otoz - moj projekt robi sie coraz bardziej rozbudowany i chcialbym przeniesc sie na SMARTY.
rozgryzlem wreszcie jak utworzyc szablon smile.gif to mi dziala, ale problem pojawia sie gdy chce wykorzystac skrypty napisane dla php.

teraz wyswietla wszystko idealnie, a na SMARTACH wogole nie potrafie wpakowac skryptu php.

dodam, ze znacznik {php} {/php} nie dziala :/

jak przerobic takie cos na smarty?:
  1. <?php
  2. include "connect.php"; //(dane do logowania i wybor bazy danych)
  3. $result = mysql_query('SELECT * FROM notatki ORDER BY id ASC');
  4.  
  5.  
  6. while($row = mysql_fetch_array($result)) {
  7. echo '<div class="boxed">';
  8. echo "<h2 class='section'>{$row['naglowek']}</h2>";
  9. echo '<div class="content">';
  10. $tr_no_tki = nl2br($row['tresc_notki']);
  11. echo $tr_no_tki;
  12. echo '</div>';
  13. echo '</div>';
  14. }
  15. ?>


kompletnie nie czaje jak to zmienic, zeby na SMARTY pojawialy sie dane.
nie wiem ani co, ani gdzie, ani juz tym bardziej jak :/

bede wdzieczny za pomoc!

no dobra, udalo mi sie przerobic:

index.php
  1. <?php
  2. require_once('smarty/Smarty.class.php');
  3. require_once('connect.php');
  4.  
  5. $oSmarty = new Smarty();
  6. $oSmarty->template_dir = 'templates';
  7. $oSmarty->compile_dir = 'templates_c';
  8. $oSmarty->assign('sHello', 'elo elo elo');
  9.  
  10. $table = array();
  11. $result = mysql_query( 'SELECT id, naglowek, tresc_notki FROM notatki' ) or die ( mysql_error() );
  12. while( $row = mysql_fetch_assoc( $result ) )
  13. $table[] = $row;
  14.  
  15. $oSmarty->assign( 'notatki' , $table );
  16.  
  17.  
  18. $oSmarty->display('index.tpl');
  19. ?>


index.tpl
  1. {foreach from=$notatki key=key item=item}
  2. <div class="boxed">
  3.  
  4. <h2 class='section'>{$item.naglowek}</h2>
  5. <div class="content">
  6. {$item.tresc_notki}
  7. </div>
  8. </div>
  9. {/foreach}



i wszystko byloby ok, gdyby nie to, ze zamiast slowa TREŚĆ wyswietla sie Tre��
System porównań dla połączenia MySQL: utf8_general_ci, dokowanie pliku index.php w edytorze: utf8-bez bom, kodowanie ustawione w sekcji head utf-8...
dale wprowadzane do bazy przez mysqladmin
Metoda porównywania napisów dla komorki naglowek: utf8_general_ci
Metoda porównywania napisów dla komorki tresc_notki: utf8_general_ci
untorched
Zawsze zastanawiałem się dlaczego tak się dzieje. No cóż, trochę czasu minęło, a ja wciąż się nie dowiedziałem. Przypuszczam, że phpmyadmin coś knoci z kodowaniem, bo jeśli dodasz wpis z poziomu skryptu PHP, to jego kodowanie jest poprawne, a phpmyadmin wywali krzaki. Do dodawania wpisów do bazy używaj zapytań z poziomu twojego skryptu, nie phpmyadmin'a to nie powinno być problemów smile.gif
by_ikar
phpmyadmin nic nie knoci, działa bardzo dobrze tylko trzeba umieć z niego jak i w ogóle z kodowania korzystać. Czyli najprościej mówiąc - wszystko w tym samym kodowaniu. Z tego co widzę, wszystkie pliki smarty są zapisane w utf8. Zrób swoją całą stronę w utf8 + kodowanie w bazie utf8 + kodowanie połączenia z bazą utf8 + nagłówek wysyłany do przeglądarki w utf8. Mogę ci zagwarantować że jeżeli wszystko będziesz miał w tym samym kodowaniu, to problemów z kodowaniem mieć nie powinieneś.
17misiek09
Cytat(untorched @ 3.02.2012, 01:48:19 ) *
Zawsze zastanawiałem się dlaczego tak się dzieje. No cóż, trochę czasu minęło, a ja wciąż się nie dowiedziałem. Przypuszczam, że phpmyadmin coś knoci z kodowaniem, bo jeśli dodasz wpis z poziomu skryptu PHP, to jego kodowanie jest poprawne, a phpmyadmin wywali krzaki. Do dodawania wpisów do bazy używaj zapytań z poziomu twojego skryptu, nie phpmyadmin'a to nie powinno być problemów smile.gif


zgadza się ;-) tylko to będzie droga przez meke stworzyć formularz który działa poprawnie w smartach hehe ;-)
ale spróbuje ;-)



a kodowania?fakt-nie rozumie,ale też spróbuje ;-)

do tego wszystkiego jeszcze jedno.

jaką książkę polecacie do rozpoczęcia działań z smarty?
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.