Hei! Olen jo pitkään miettinyt ratkaisua seuraavaan ongelmaan:
Eli minulla on tiedosto rss.php, joka hakee tietokannasta vaikkapa taulusta uutiset kaikki tarvittavat tiedot ja tulostaa ne yksi kerrallaan rss-muodossa. Miten kannattaisi toteuttaa, jos haluaisin vaikka tiedot taulusta uutiset ja taulusta kommentit ja tulostaa ne samaan rss-tiedostoon?
Olen ajatellut, että kätevien tapa olisi varmaan jotenkin laittaa kaikki tiedostot array:hin ja sortata, mutten vain keksi miten. Vinkkejä?
Itse hakisin ensin uutiset taulukkoon ja sitten kommentteja hakiessa laittaisi ne oikeiden uutisten tietoihin siihen uutistaulukkoon ja lopuksi vaan tulostaisi.
Siis runko olisi jotain tähän tyyliin:
<? //availlaan tietokanta ja tehdään kysely uutisiin while ($uutinen = mysql_fetch_assoc($reso)) { $id = $uutinen['id']; $uutiset[$id] = $uutinen; } //suljetaan edellinen resurssi ja avataan kysely kommentteihin while ($kommentti = mysql_fetch_assoc($reso)) { $id = $kommentti['uutinen']; $uutiset[$id]['kommentit'][] = $kommentti; } foreach ($uutiset as $uutinen) { //Tehdään uutisen otsikoiden tulostukset foreach ($uutinen['kommentit'] as $kommentti) { //Tehdään kommentin tulostukset } } ?>
Kiitos, juuri jotain tuon tapaista haeskelinkin.
Mutta miten kannattaisi tehdä, jos on kaksi täysin samanlaista taulua, esim. uutiset ja artikkelit, ja haluaisi tehdä näistä yhdistetyn kyselyn?
SQL:ssä on sellainen avainsana kuin UNION. Mutta jos taulut on täsmälleen samanlaisia rakenteeltaan, niin miksi niitä on kaksi?
Jees, kiitokset vinkistä. Tuollahan tuo menee helposti ^^.
Taulut eivät ole tismalleen samanlaisia, vaan ainoastaan RSS-syötteeseen tarvittavat osat ovat samanlaisia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.