Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] smarty i wyświetlenie wyniku w innym miejscu
Forum PHP.pl > Forum > Przedszkole
simpson46
Witam serdecznie !

Mam pewien problem i zwracam się do was z prośbą o pomoc.
Mianowicie chodzi o to że mam stronę które jest zbudowana na smartach i korzysta z bazy danych.
Informacje z bazy danych są wyświetlane w kategoriach i wyświetlają się pod takim linikiem http://adres_strony./category.php?id=1 <- jedna z kategorii
Chiał bym zeby te same dane wyświetlały się na głównej stronie czyli w index.php ale gdy poprzenosze formuły odpowiedzialne za wyswietlanie tego w category to nie działa.
W jaki sposob moge wyinkludowac te dane na główną strone.

Czy jest ktoś w stanie mi pomóc?

Z góry bardzo dziekuję za pomoc.
nospor
skopiuj dane z pliku category.tpl od lini 34 do 85 i wklej do index.tpl począwszy od linii 12
smile.gif

Jak juz zalapiesz ze to ironia to podaj zarys kodu jaki masz.
golaod
Aleś ty nospor niedobry ;p (sry za offtop ale Ci to wyszło po prostu biggrin.gif )
simpson46
To skrypt pliku category.tpl

  1. <table width="650" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
  2.  
  3. <tr>
  4. <td width="650" valign="top" background="templates/bcg03.gif"><p align="left" class="style1"><strong>Samochody dostepne w tej kategorii:</strong><br/>
  5. <span class="style2"><br/>
  6. {if !$cars}<p>Brak dostepnych samochodow w tej kategorii.</p>{else} {foreach from=$cars item=car key=car_id} </span>
  7. <table width="100%">
  8. <tr class="style1">
  9. <td colspan=2" bordercolor="#FFC64F" class="style2"><a href="car.php?id={$car_id}">&raquo {$car.Name}</a></td>
  10. </tr>
  11. <tr class="style1">
  12. <td width="80px" class="style2"><div align="left">{if $car.Photo.Path}<img src="photo.php?car={$car_id}&id={$car.Photo.Path}" onClick="javascript:window.open('photo_preview.php?car={$car_id}&id={$car.Photo.Path}','Podglad','menubar=no,toolbar=no,location=no,scrollbars=no,resizable=no,status=no,width
  13. {$car.Photo.Size[0]},height={$car.Photo.Size[1]}')">{else}brak foto{/if}</div></td>
  14. <td class="style2"><div align="left">{if $car.Description}{$car.Description|nl2br}{else}brak{/if}</div></td>
  15. </tr>
  16. <tr class="style1">
  17. <td colspan="2" class="style2">Cena: {$car.Price} zl</td>
  18. </tr>
  19. <tr class="style1">
  20. <td colspan="2" class="style2" style="font-weight: bold;"><a href="car.php?id={$car_id}">[Zobacz szczególy i zarezerwuj]</a></td>
  21. </tr>
  22. </table>
  23. </span> <div align="center"><span class="style1"><br/>
  24. {/foreach} {/if}<br/>
  25. <br/>
  26. </span><span class="style10"><a href="categories.php" class="style2 ">&laquo; Powrot do listy kategori</a> </span> </div> <span class="style1"></span></TD>
  27. </TR></strong></p> </TD>
  28. </tr>
  29.  


a tutaj category.php

  1. <?php
  2.  
  3. include_once('init.php');
  4. include_once('lang.php');
  5.  
  6. $category_id=(int) $_GET['id'];
  7.  
  8. if($lang=='en'){ $pole_opisu='Description_en'; }elseif($lang=='de'){ $pole_opisu='Description_de'; }else{ $pole_opisu='Description'; }
  9. $dbr=&$db->Execute("SELECT Cars.Id, Cars.Name, Cars.{$pole_opisu} AS Description, Cars.Price FROM Cars WHERE Cars.Category_id={$category_id}");
  10. while(!$dbr->EOF){
  11.    $cars[$dbr->fields['Id']]['Name']=$dbr->fields['Name'];
  12.    $cars[$dbr->fields['Id']]['Description']=$dbr->fields['Description'];
  13.    if(is_dir('./cars/'.$dbr->fields['Id'])){
  14.        for($i=1; $i<=10; $i++){
  15.            if(file_exists('./cars/'.$dbr->fields['Id'].'/'.$i.'.jpg')){
  16.                $cars[$dbr->fields['Id']]['Photo']['Path']=$i;
  17.                $cars[$dbr->fields['Id']]['Photo']['Size']=@ getimagesize('./cars/'.$dbr->fields['Id'].'/'.$i.'.jpg');
  18.                break;
  19.            }
  20.        }
  21.    }
  22.    $cars[$dbr->fields['Id']]['Price']=(!empty($_REQUEST['lang'])&&$_REQUEST['lang']!='pl') ? ceil($dbr->fields['Price']/3.88) $dbr->fields['Price'];
  23.    $dbr->MoveNext();
  24. }
  25. $tpl->assign('cars', $cars);
  26. $tpl->display("category{$template}.tpl");
  27.  
  28. ?>


I chodzi o to zeby dane ktore wyswietlaja sie pod ?id=1 itd. mogł wyswietlic je takze na głównej stronie pod index.php i index.tpl
golaod
I w ten magiczny sposób...dalej możemy się domyślać jak wygląda Twój index.php do którego chcesz to przenieść smile.gif
Jak ja za małego nauczyłem się co to forum to było kompletnie inaczej...ludzie wiedzieli, co to edycja postów, że informacje muszą być zawsze pełne (jak będą nadmiarowe to nie zaszkodzi) no i przede wszystkim każdy wiedział co to szukajki...
nospor
A jednak ze mnie mala wrozka. Trafilem z nazwą szablonu winksmiley.jpg

No dobra, to co ci nie działa? Zarówno szablon jak i kod są w miare proste. Jedyne co należy zrobic to przenieść to do pliku odpowiedzialnego za strone główną.
Jakie masz bledy po przenosinach i co dokladnie przenosisz?

ps: najlepiej by bylo, bys stworzyl maly szablon na generowanie twojej listy i includowal go zarowno w kategoriach i na stronie glownej. Musialbys wowczas jedynie kod generujący dane przeniesc.
simpson46
do indexu.tpl przenoslem kod z category.tpl ktory wyswietla dane ale nie chcialo mi to dzialac. potem probowalem przenosic kod z pliku categories.php ale tam wyswietlaly sie dostepne kategowie i mogolem wybierac tylko te kategorie. A chodzi mi o to zeby wyswietlily sie dane z kategorii tak jak by byla juz wybrana

to kod pliku categories.tpl ktorego przenosilem tez do indexu.tpl

  1. <?php
  2. {if !$categories}Brak dostepnych kategori.{else}
  3.          
  4.       {foreach from=$categories item=category key=category_id}&raquo; <a href="category.php?id={$category_id}">{$category.Name}</a><br/>
  5.         {/foreach}
  6.           {/if}
  7. ?>



czy mogę zaincludować w jakiś sposób taką formę pliku który się wyswietla pod takim linkiem category_2.php?id=1 questionmark.gif <- tutaj wtedy mam wyswietlone to co chce ale nie wiem jak umiescic to na glownej stronie. kody plików wyżej category
nospor
Cytat
i mogolem wybierac tylko te kategorie. A chodzi mi o to zeby wyswietlily sie dane z kategorii tak jak by byla juz wybrana


W kodzie masz:
  1. <?php
  2. $category_id=(int) $_GET['id'];
  3. ?>

To skoro chcesz miec od razu ustawione to zrob to.

  1. <?php
  2. $category_id=1; //USTAWIASZ NA KATEGORIE O ID 1
  3. ?>
simpson46
Wielkie dzięki za pomoc już kombinowalem z tym id ale źle jak się okazało smile.gif strasznie prosta sprawa smile.gif

A pytanko jeszcze mam takie wstawiam taki kod do pliku index.tpl ale nie wyswietla sie to co w pliku category_2.php

  1. <?php
  2. {include file=&#092;"category_2.php\"}
  3. ?>


chcial bym zeby teraz ten plik ktory mi juz wyswietla wszytskie kategorie w jednym wyswietlil sie na glownej stronie w jaki sposob moge go zaincludowac?
-----------------------

Zrobilem tak wyswietla sie z tym ze jedno wyswietla sie nad strona a drugie tam gdzie powinno sie wyswietlac. jak temu zaradzic zeby się nie dublowalo na jednej stronie po 2 razy ?

kod w index.tpl
  1. <?php
  2. {include file=&#092;"category_2.tpl\"}
  3. ?>


Kod pliku index.php jelsi jest include pliku category_2.php wyswietla sie nad strona i wyswietla sie we wlasciwym meijscu.

  1. <?php
  2.  
  3. include_once('init.php');
  4. include_once('lang.php');
  5. include('category_2.php');
  6.  
  7. $tpl->display("index{$template}.tpl");
  8. ?>


jak edytować to zeby wyswietlalo sie tam gdzie chce questionmark.gif

Poradzilem sobie z problemem dzieki za pomoc !

temat do zamknięcia
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.