Juu mä olen tutkinut noita php.netin manuaaleja päivän verran enkä kelaa... vieraskirjafoorumia vieläki tekemässä eli tarvis olla aihe, nimi ja viesti samassa arrayssa siten että ensteks luuppaan ja haen viestit tiedostosta taulukkoon ja sitten nämä taulukot pitäis yhdistää aiheen järjestykseen jotenkin tyyliin
$viesti["tää_on_aihe"][0][0]
olis lähettäjä ja $viesti["tää_on_aihe"][0][1]
olis viesti sit. tää olisi eka viesti tossa aiheessa, toka on sit
$viesti["tää_on_aihe"][1]
... tai sillein... niin että ton ekan alkion mukaan noi muut säätyis että koko jutska on
$viesti[$aiheennimi]
... kukaan ei varmaan tajua mutta yrittäkää auttaa!
Olispa mysql ! Helpottaisi hakua...
Jos ei ole, niin suosittelen, että tuo aihe on tallennettu viestiin ihan ensimmäisenä.
Ja sitten esim. näin:
<?php $tiedot=file("viestit.txt"); $etsitaan="aiheen_nimi"; for ($i=0;$i<count($tiedot);$i++) { if (substr_count($tiedot[$i],$etsitaan)<>0) { echo " $tiedot[$i]<br>\n"; } } ?>
Ja tuohon echoon lisäät vielä pikku muuttujan, jolla rivit saa aakkosjärjestykseen. En muista sitä ulkoa enkä jaksa ruveta etsimään...
edit: Vai pitikö ne olla numerojärjestyksessä. Siinä tapauksessa tuonne file-tietojen jälkeen:
$tiedot=array_reverse($tiedot);
Niin ja tietenkin teet tuon tulostuksen eri tavalla, explodetat |-merkit ja tulostat ne lokeroittain..
Eikös mikrobitis ollu pari vuotta takaperin joku TEE-SE-ITSE vieraskirja artikkeli?
aihe<>vastaus<>vastaus<> aihe<>vastaus<>vastaus<> aihe<>vastaus<>vastaus<>
tälläinen siis:
aihe1|kuvaus1|nimi1|viesti1<>nimi11|vastaus11<>nimi12|vastaus12<> aihe2|kuvaus2|nimi2|viesti2<>nimi21|vastaus21<>nimi22|vastaus22<> aihe3|kuvaus3|nimi3|viesti3<>nimi31|vastaus31<>nimi32|vastaus32<>
kokeileppas tehdä tuollainen tietokanta. ja purkamalla se käyttämällä explode() funktiota.
tommoset
$tosipitkätaulukko["aihe"]["mesta"]["viesti"]["täyte"]["toinentäyte"][$joku][$vika]
menee vähän monimutkasiks käsitellä. helpointa on tehdä esimerkiksi yllä olevan esimerkin tapainen tietokanta, ja purkaa se for-silmukoiden avulla osiin.
serialize/unserialize funktio kasvattaa tietokannan kokoa kolminkertaiseksi, joten ei siitäkään ole paljoa iloa. ei taida olla edes paljoa nopeampi tapa purkaa tieto.
suosittelen explode() hässäköitä aloittelijoille.
lainaus:
Eikös mikrobitis ollu pari vuotta takaperin joku TEE-SE-ITSE vieraskirja artikkeli?
Oli kyllä, mutta kokeilin ihan huvina niin sekin laitto parse erroria
Aihe on jo aika vanha, joten et voi enää vastata siihen.