Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [smarty] wyświetlanie danych z dwóch tabel
Forum PHP.pl > Forum > Gotowe rozwiązania > Systemy szablonów
soon
Witam, jestem początkującym użytkownikiem smarty i opornie mi to wchodzi smile.gif

Posiadam 2 tabele, jedną z newsami, drugą z kategoriami. Gdzie w tabeli "news" w kolumnie "category" zapisane są liczby od 1 do 7 odpowiadające kategorią zapisanym w tabeli categories.


template
  1. <a href="index.php?page=show_link&link_id={$db_result[id].id}"><h2>{$db_result[id].title}</h2></a>
  2. dodano: <a href="">{$db_result[id].date|date_format:"%d-%m-%Y"}</a>, dodał: <a href="">{$db_result[id].author}</a>, kategoria: <a href="">{$db_result_cat[id].name}</a>


zapytania
  1. <?
  2. $result = $db->set_query('SELECT * from tpl_news WHERE id = ' . $_GET['link_id'] . '');
  3. $result_categories = $db->set_query('SELECT * from tpl_categories WHERE id = ' . $db_result[id].id . '');
  4. $smarty->assign_by_ref('db_result', $result);
  5. $smarty->assign_by_ref('db_result_cat', $result_categories);
  6. ?>


Jak mam zrobić żeby wyświetlało nazwę kategorii, której id jest zapisane w kolumnie category w tabeli news?

Wiem, że pokazane przeze mnie fragmenty kodu nie mają prawa działać, ale nie wiem jak je napisać.

Proszę o pomoc.
Sabistik
Radze zapoznać sie głębiej z SQLem z poleceniem JOIN. Nie ma po co wykonywać dwóch zapytań, a i będzie to łatwiej obrabiać.
soon
hmm problem w tym, że nie wiem jak to w templates wyświetlić.

mam powiedzmy
  1. <?php
  2. $result_categories = $db->set_query('SELECT name FROM tpl_categories WHERE id IN (SELECT category FROM tpl_news)');
  3. ?>


i jak to zainicjować w *tpl?


-----
EDIT:

uporałem się z tym jakoś:
  1. <?php
  2. $result = $db->set_query('SELECT * from tpl_news JOIN tpl_categories ON tpl_categories.id = tpl_news.categ
    ory ORDER BY '
    .$sortowanie.' DESC LIMIT '.$page_min.','.$page_max.' ');
  3. ?>


Czy takie zapytanie jest według was poprawne?
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.