Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][SMARTY] Zapytanie
Forum PHP.pl > Forum > Przedszkole
gOdi_1991
Witam mam dziwny problem nie przekazuje mi zmiennej do pliku tpl

plik php
  1. <?php
  2.  
  3.  
  4. require 'libs/Smarty.class.php';
  5. require_once ('cfg.php');
  6.  
  7. $smarty = new Smarty;
  8.  
  9.  
  10.  
  11. $sql = mysql_query("SELECT id, title, value_1 FROM news");
  12.  
  13. $row = mysql_fetch_array($sql))
  14.  
  15. $id = $row['id'];
  16.  
  17. $smarty->assign('id', $id);
  18.  
  19. $smarty->display('news.tpl');
  20.  
  21.  
  22.  
  23.  
  24. ?>


plik .tpl
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Aktualnosci</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.  
  7. <link href="templates/style.css" rel="stylesheet" type="text/css" />
  8. </head>
  9. <body> Numer id:{$id}
  10.  
nospor
Nie przyszla ci do glowy mysl ze moze wogole w php tej zmiennej nie dostajesz? Ciezko sprawdzic?
echo $id;
?

Zanim zadasz kolejne pytanie:
Zastosuj się proszę do podanych tu porad:
Temat: Jak poprawnie zada pytanie


poza tym
nie:$row = mysql_fetch_array($sql))
a:$row = mysql_fetch_array($sql);
gOdi_1991
w PHP działa sprawdzałem
nospor
szablon tez jest ok.

wykonaj prosze kod i powiedz co zwraca:
  1. //....
  2. echo 'Twoje ID:'.$id;
  3. $smarty->assign('id', $id);
  4. //....

Dopytuję bo już nie raz na forum slyszalem "Sprawdzałem", "ZRobilem jak mowiles" itp a zawsze było inaczej.
gOdi_1991
zwraca mi takie coś Twoje ID:2 Twoje ID:1 a to małe uaktualnienie wersji tego pliku

  1. <?php
  2.  
  3.  
  4. require 'libs/Smarty.class.php';
  5. require_once ('cfg.php');
  6.  
  7. $smarty = new Smarty;
  8.  
  9.  
  10.  
  11. $result = mysql_query("SELECT id, title, value_1, value_2 FROM news ORDER BY id DESC")
  12. or die("Niepoprawne zapytanie MySQL");
  13. $number = mysql_num_rows($result);
  14.  
  15. while ($news = mysql_fetch_array($result))
  16. {
  17.  
  18. echo 'Twoje ID:'.$news['id'];
  19.  
  20. $smarty->assign('id', $id);
  21.  
  22. $smarty->assign("news_title" ,$news['id']);
  23. $smarty->assign("news_title" ,$news['title']);
  24. $smarty->assign('news_value1',$news['value_1']);
  25.  
  26. }
  27.  
  28. $smarty->display('news.tpl');
  29.  
  30.  
  31.  
  32.  
  33. ?>


oraz tpl
  1. {$news_title}
  2.  
  3. {section name=customer loop=$news}
  4.  
  5. {$news_title}
  6.  
  7. {/section}


Na koniec dodam że jest to plik news.php który jest ładowany do indexu smile.gif a no o to co prosiłeś zwraca mi tylko w przypadku gdy dopisze ręcznie do adres news.php bo gdy ładuje się do indexu to jest czysto jak by nic nie było ;/

help aaevil.gif

REFRESH offtopic.gif offtopic.gif offtopic.gif
nospor
dwa refreshe wciągu dwóch godzin to lekka przesada - zamykam do jutra rana. Może wówczas zrozumiesz na czym polega pisanie na forum.

edit: otwieram
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.