sjotto Skrevet 24. mars 2008 Del Skrevet 24. mars 2008 Forum Script Hallo folkens Jeg jobber med et forum som jeg har laget etter en tutorial, men det er noen ting som jeg gjerne skulle ha fikset på forumet jeg har laget. Feilen er at forumet ikke har kode som legger emnene i flere sider, for eks. side 1,2,3,4,5,6,7 osv. så jeg lurer på om noen kan hjelpe meg med å skrive inn en kode i scriptet jeg har nedenfor. Og kanskje forklare hvordan koden gjør det. Også har jeg har jeg et problem med sorteringa, når jeg lager et emne så legger det seg nedenfor alle andre. Men når jeg legger til en svar så havner den på topp. Det siste er bra, men ikke det første. Det skulle hvert sånn at nye emner la seg øverst. Håper noen kan hjelpe meg med dette og vise meg hvor disse kodene skal være og hvordan de skal se ut Her er scriptet: <?php include "koble_db.php"; //mysql db connection here print "<link rel='stylesheet' href='style.css' type='text/css'>"; print "<A href='post.php'>Nytt Emne</a><br>"; print "<table class='maintable'>"; print "<tr class='headline'><td width=50%>Emne</td><td width=20%>Skrevet Av</td><td>Svar</td><td>Sist Svart</td></tr>"; $getthreads="SELECT * from forumtutorial_posts where parentid='0' order by lastrepliedto DESC"; $getthreads2=mysql_query($getthreads) or die("Kunne ikke hente emner"); while($getthreads3=mysql_fetch_array($getthreads2)) { $getthreads3[title]=strip_tags($getthreads3[title]); $getthreads3[author]=strip_tags($getthreads3[author]); print "<tr class='mainrow'><td><A href='message.php?id=$getthreads3[postid]'>$getthreads3[title]</a></td><td>$getthreads3[author]</td><td>$getthreads3[numreplies]</td><td>$getthreads3[showtime]<br>Last post by <b>$getthreads3[lastposter]</b></td></tr>"; } print "</table>"; ?> Lenke til kommentar
sjotto Skrevet 24. mars 2008 Forfatter Del Skrevet 24. mars 2008 Hver så snill, hjelp meg Lenke til kommentar
Rasks Skrevet 24. mars 2008 Del Skrevet 24. mars 2008 (endret) For å vise emne med nyest svar først må du i på slutten av spørringen din ha noe sånt som: ORDER BY timelastreply DESC der timelastreply er dato/tid for nyeste svar i emne. Hvis du ønsker flere sider: Pagination Endret 24. mars 2008 av Rasks Lenke til kommentar
sjotto Skrevet 24. mars 2008 Forfatter Del Skrevet 24. mars 2008 Kan du kanskje vise meg hvor i scriptet det skal ligge med og kopiere script koden min og skrive inn der det skal være, det hadde vært til stor hjelp! Lover å legge ut ferdig produkt med bra design og alt hvis jeg får dette ferdig Lenke til kommentar
Rasks Skrevet 24. mars 2008 Del Skrevet 24. mars 2008 (endret) Det er ikke så veldig lett å gjette seg til hvordan tabellene i databasen din er bygget opp, men du kan se som det blir noen sider nå. Når det gjelder sorteringen av emnene klarer nok ingen her å gjette seg til noe før du gir oss litt mer info. <?php include "koble_db.php"; //mysql db connection here print "<link rel='stylesheet' href='style.css' type='text/css'>"; if (isset($_GET['pageno'])) { $pageno = $_GET['pageno']; } else { $pageno = 1; } $query = "SELECT count(*) FROM forumtutorial_posts WHERE parentid='0'"; $result = mysql_query($query, $db) or trigger_error("SQL", E_USER_ERROR); $query_data = mysql_fetch_row($result); $numrows = $query_data[0]; $rows_per_page = 15; $lastpage = ceil($numrows/$rows_per_page); $pageno = (int)$pageno; if ($pageno > $lastpage) { $pageno = $lastpage; } if ($pageno < 1) { $pageno = 1; } $limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page; print "<A href='post.php'>Nytt Emne</a><br>"; print "<table class='maintable'>"; print "<tr class='headline'><td width=50%>Emne</td><td width=20%>Skrevet Av</td><td>Svar</td><td>Sist Svart</td></tr>"; $getthreads="SELECT * FROM forumtutorial_posts WHERE parentid='0' ORDER BY lastrepliedto DESC ".$limit; $getthreads2=mysql_query($getthreads) or die("Kunne ikke hente emner"); while($getthreads3=mysql_fetch_array($getthreads2)) { $getthreads3[title]=strip_tags($getthreads3[title]); $getthreads3[author]=strip_tags($getthreads3[author]); print "<tr class='mainrow'><td><A href='message.php?id=$getthreads3[postid]'>$getthreads3[title]</a></td><td>$getthreads3[author]</td><td>$getthreads3[numreplies]</td><td>$getthreads3[showtime]<br>Last post by <b>$getthreads3[lastposter]</b></td></tr>"; } print "</table>"; if ($pageno == 1) { echo " FIRST PREV "; } else { echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> "; $prevpage = $pageno-1; echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREV</a> "; } echo " ( Page $pageno of $lastpage ) "; if ($pageno == $lastpage) { echo " NEXT LAST "; } else { $nextpage = $pageno+1; echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> "; echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>LAST</a> "; } ?> Det beste for alle hadde egentlig vært om du hadde hatt grunnleggende kunnskaper i php og mysql før du prøver å lage et forum. Endret 24. mars 2008 av Rasks Lenke til kommentar
sjotto Skrevet 24. mars 2008 Forfatter Del Skrevet 24. mars 2008 Tusen Takk! Og jeg fant ut sorteringa Lenke til kommentar
Zeph Skrevet 24. mars 2008 Del Skrevet 24. mars 2008 Emnetittelen i denne tråden er lite beskrivende for trådens innhold og det er derfor ingen god emnetittel. Jo bedre og mer beskrivende emnetittelen er, jo lettere er det for andre å skjønne trådens innhold og det vil være lettere å treffe den riktige forumbrukeren med det rette svaret. Ber deg derfor om å endre emnetittel slik at du unngår at en moderator stenger tråden. Vennligst forsøk å ha dette i tankene neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler. Bruk -knappen i første post for å endre emnetittelen. (Dette innlegget vil bli fjernet ved endring av emnetittel. Ikke kommenter dette innlegget, men gjerne dette innlegget når tittelen er endret, så vil det bli fjernet..) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå