![]() |
![]() |
![]()
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. |
|
|
![]() |
![]()
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
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:20 |