Výpis pouze jednou když mám více řádků se stejnou hodnotou

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
sd
Člen | 87
+
0
-

Zdravím,

řeším takový asi směšný problém, ale stejně si nevím rady… V databázi mám jména autorů a pak mám select do kterého pomocí foreach vypisuji jména autorů z DB, jenže pokud je autorem na více řádcích, tak se mi vypíše několikrát.

Lze nějak pořešit aby se mi vypsal jen jednou?

Děkuji moc,

  • sd
sd
Člen | 87
+
0
-

Jakoby potřebuji to na vyhledávání, kdy si vyberu, že chci zobrazit vše od autora XY..

F.Vesely
Člen | 369
+
0
-

Odpoved na 1.otazku: GROUP BY v dotazu bych pouzil

Odpoved na 2.otazku: WHERE v dotazu bych pouzil

Vysledek: uplne nechapu, co chces :) Zkus ukazat strukturu database a ceho chces docilit.

Editoval F.Vesely (9. 7. 2015 2:04)

Unlink
Člen | 298
+
0
-

Ak používaš nette\database tak by malo stačiť

$this->template->authors = $this->db->table('author')->where('name LIKE ?', '%Jaro%');

a výpis potom

{foreach $authors as $author}
    <strong>{$author->name}</strong><br>
    {foreach $author->related('book') as $book}
        {$book->name}<br>
    {/foreach}
{/foreach}
sd
Člen | 87
+
0
-

Chci to na vyhledávání.

Mám tabulku knihy → sloupce: id, název, počet stran, autor
A teď mám input select, do kterého chci vypsat všechny autory aby si uživatel vybral od kterého autora chce zobrazit knihy. Jenže problém je v tom, že jeden autor může mít více knih (více řádků → vypíše se vícekrát)
⇒ Vyřešeno pomocí GROUP BY .. Děkuji moc :)

Děkuji unlink, také mi to pomohlo (o ->related jsem neměl ani páru :D) Děkuji :)