Autor Zpráva
ACMetelka
Profil
Ahoj,
hledal jsem tu v odpovědích, i jinde na webu, ale zatím nenašel uspokojivou odpověď. Udělal jsem si v PHP a SQL diskusi s vlákny, podle článku na http://webmonkey.wired.com/webmonkey/99/31/index3a.html . Tabulka příspěvků vypadá takto:

CREATE TABLE diskuse (
topic_id int(11) NOT NULL auto_increment,
parent_id int(11) NOT NULL default '0',
root_id int(11) NOT NULL default '0',
nickname varchar(20) default NULL,
title varchar(50) NOT NULL default '',
message text,
date int(11) default NULL,
PRIMARY KEY (topic_id)
) TYPE=MyISAM;

Jeden SQL dotaz vybere témata diskuse, podle topic_id = root_id, potom se volá rekurzivně funkce DisplayKids, která zobrazuje odpovědi vždy z předešlé úrovně ve stromu.

SELECT * FROM diskuse WHERE parent_id = "$topic_id"

Vše funguje jak má, ale... :)

Problém mám s tím, jak zařídit stránkování. Pro ilustraci, chtěl bych, aby to vypisovalo stejně jako v diskusích na idnes.cz, to znamená, že vypíšu dejme tomu 50 záznamů a na další stránce pokračuju následující odpovědí, která se na předešlou stránku už nevešla, nehledě na to, jestli to bude právě uvodní zpráva nového tématu, nebo kterákoli z odpovědí. Jak mám vědět při zobrazení další či předešné strany, co třeba zobrazit, když příspěvky jsou do databáze vkládané neuspořádaně vzhledem ke struktuře témat a odpovědí. Jde nějak udělat SQL dotaz, který by mi to seřadil už tak, jak to bude na stránce? Jak zjistím, který přesně příspěvek se má zobrazit jako první na N-té stránce a s jakým odsazením (hloubkou ve stromu). Snad se mi podařilo popsat, o co mi jde. :)

Děkuju všem za odpovědi..

Metelka
Toto téma je uzamčeno. Odpověď nelze zaslat.

0