Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [smarty]jak jest szybciej/poprawniej
FastRed
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 30.06.2003
Skąd: Chełm

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


Od niedawna bawię się smartymi i napotkałem pewien problem, który nie wiem jak najlepiej rozwiązać, otóż mam plik php:
[php:1:fcab06c3ac]<?php
$q = $db->getArray('SELECT * FROM sz_sonda_pyt ORDER BY sonda_id DESC LIMIT 0,1'); //pobieramy id i pytanie ostatniej sondy
$intSonda_id = $q[0][0];
$strCookieName = 'sonda_'.$intSonda_id;//nazwa ciastka dla tej sondy
$strPytanie = $q[0][1]; // pytanie
if(isset($_COOKIE[$strCookieName])){
//wtedy wyświetlimy wyniki sondy-w naszym przypadku obrazek wygenerowany wcześniej przez GD
}else{
//pobieramy pytania dla ostatniej sondy
$arrSonda = $db->GetArray('SELECT * FROM sz_sonda_odp WHERE s_id="'.$intSonda_id.'" ORDER BY odp_id ASC');
$tpl->assign("arrSonda",$arrSonda);
}
$tpl->assign('strCookieName', $strCookieName);
$tpl->assign('strPytanie',$strPytanie);
$tpl->display("right_menu.tpl");
?>[/php:1:fcab06c3ac]
Jak widać w kodzie powyżej jest już jeden if- sprawdzamy czy istnieje ciasteczko, jeśli tak to chcemy wyswietlić wyniki sondy, jeżeli nie to pobieramy spis możliwych odpowiedzi aby później w tplku wyświetlić formularz.

Teraz mam plik tpl:
[xml:1:fcab06c3ac]
{$strPytanie}<br />
{if !isset($smarty.cookies.strCookieName)}
<form name="sonda" method="post">
{section name=i loop=$arrSonda}
<input type="radio" name="odp" value="{$arrSonda[i].odp_id}" />{$arrSonda[i].odp}<br />
{/section}
<input type="submit" value="Głosuj" />
</form>
{else}
<div align="center">
<img src="sonda.png">
</div>
{/if}
[/xml:1:fcab06c3ac]
I tutaj znowu musimy sprawdzić czy użytkownik ma ciasteczko, i w odpowiedniej sytuacji albo wyświetlić wyniki sondy, albo formularz.
Czy dałoby się to jakoś inaczej rozwiązać bez stosowania ponownie ifów?(myślałem o daniu zapytania sprawdzająceog możliwe odpowiedzi do tpl, ale chyba nie jest to najlepsze rozwiązanie)

Z góry dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

edit: można to oczywiście rozwiązać używająć dwóch plików .tpl jednak zależy mi na tym, aby było to zapisane w jednym.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
BzikOS
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


Początkujący => php
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:20