Joachricar Skrevet 31. mars 2008 Del Skrevet 31. mars 2008 (endret) Hei. Holder på å lage et forum, men er ikke sikker på hvordan jeg kan få det til å vise maks 10 emner/poster per side og så få den til å lage en link til de 10 neste. Noen som kan forklare kort hvordan det kan gjøres? Takker for svar Endret 31. mars 2008 av Jokkeman Lenke til kommentar
Jonas Skrevet 31. mars 2008 Del Skrevet 31. mars 2008 (endret) Dette er superenkel matematikk og logikk. Prøv å forenkle problemet og forstå hva pagination egentlig er. Ta også en titt på modulo-operatøren. Med litt lesing klarer du det fint på egenhånd. Edit: Det er for øvrig blitt spurt om akkurat det samme ørten ganger i det siste. https://www.diskusjon.no/index.php?showtopic=931867 Endret 31. mars 2008 av Jonas Lenke til kommentar
Joachricar Skrevet 31. mars 2008 Forfatter Del Skrevet 31. mars 2008 Det med matten osv er greit, men jeg kan/kunne ikke alle funksjonene Men den siden du linket til om pagination var til stor hjelp Lenke til kommentar
Danny92 Skrevet 1. april 2008 Del Skrevet 1. april 2008 (endret) Det er egentlig ikke så vanskelig, kan gi deg en eks. kode: if(isset($_GET['id']) && is_numeric($_GET['id'])) { $start = $_GET['id']; } else { $start = 0; } $query = mysql_query("SELECT * FROM tabell ORDER BY id DESC LIMIT ".$start.", 10;"); while ($fetch = mysql_fetch_object($query)) { echo("SKRIVE UT!"); } $idp = $start + 10; $idm = $_GET['id'] - 10; echo("<a href=?side=gjestebok&id=".$idp.">Neste side</a> | <a href=?side=gjestebok&id=".$idm.">Tilbake</a>"); Der viser den de 10 første, vis du tryker neste så blir det enda 10 neste osv.. Endret 1. april 2008 av dannyboy_1992_ Lenke til kommentar
Joachricar Skrevet 1. april 2008 Forfatter Del Skrevet 1. april 2008 Da har jeg prøvd meg litt fram, men det ser ikke ut som om det funker helt. Jeg har et forum med 12 tråder, men nå viser den bare 5. På forum med 3 tråder, viser den 2, og under det viser den ingenting. <?php elseif ($oppgave == "visforum"){ $id = $_GET['id']; if (!isset($_GET['side'])){ $side = '1'; } else { $side = $_GET['side']; } $rows = 10; $minst = $side * $rows; $maks = $minst + $rows; $hent = mysql_query("SELECT * FROM Melding WHERE KategoriID = '$id' ORDER BY Dato DESC LIMIT ".$minst.", ".$rows.";"); $henthk = mysql_query("SELECT * FROM Underkat WHERE ID = '$id'"); $henthka = mysql_fetch_array($henthk); echo "<table>"; echo "<tr><td colspan='2'>Du er her: <a href='forum.php'>Hovedside</a> -> " . $henthka['Katnavn'] . "</td><td><a href='forum.php?action=addtopic&id=" . $id . "' style=' float: right;'>Nytt emne</a></td></tr>"; echo "<tr><td id='hovedkat'><b>" . $henthka['Katnavn'] . "</b></td><td id='hovedkata'><b>Antall svar</b></td><td id='hovedkatb'><b>Av</b></td></tr>"; while ($henta = mysql_fetch_array($hent)) { $svar = mysql_query("SELECT * FROM Melding WHERE ID ='" . $henta['ID'] . "'"); $svara = mysql_fetch_array($svar); $antsvar = $svara['SvarID']; if (strlen($henta['ID']) > 1){ $hentantsvar = mysql_query("SELECT * FROM Melding WHERE SvarID = '$antsvar'"); $hentantsvara = mysql_fetch_array($hentantsvar); $antsvar2 = mysql_num_rows($hentantsvar); $hentbrukernavn = $henta['BrukerID']; $hentbruker = mysql_query("SELECT * FROM users WHERE Id = '$hentbrukernavn'"); $hentbrukera = mysql_fetch_array($hentbruker); echo "<tr><td id='underkat'><a href='forum.php?action=vistopic&id=" . $id . "&topid=" . $henta['ID'] . "'>" . $henta['Overskrift'] . "</a></td> <td id='underkata'>" . $antsvar2 . "</td><td id='underkatb'><a href='forum.php?action=profil&id=" . $henta['BrukerID'] . "'>" . $hentbrukera['Username'] . "</a></td></tr>"; } } echo "</table>"; $antalla = mysql_num_rows($hent); $antallb = ceil($antalla/$rows); $antall = $antallb; $neste = $side + 1; $forrige = $side - 1; if ($antall == '0'){ echo "<small>Forrige (side 1 av 1) Neste</small>"; } else { if ($side == '1'){ echo "<small>Forrige (side 1 av " . $antall . ") <a href='forum.php?action=visforum&id=" . $side . "&side=" . $neste . "'>Neste</a></small>"; } elseif ($side = $antall){ echo "<small><a href='forum.php?action=visforum&id=" . $id . "&side=" . $forrige . "'>Forrige</a>(side " . $side . " av " . $antall . ") Neste</small>"; } else { echo "<small><a href='forum.php?action=visforum&id=" . $id . "&side=" . $forrige . "'>Forrige</a>(side " . $side . " av " . $antall . ") <a href='forum.php?action=visforum&id=" . $_GET['id'] . "&side=" . $neste . "'>Neste</a></small>"; } } mysql_close($con); } ?> $id er forumets ID. Det forumet med 12 tråder "vet" at det er flere enn 10 tråder, så jeg kan trykke neste, men når jeg trykker neste, blir ID'en til forumet '1'.... Ser ikke feilen jeg har gjort her Lenke til kommentar
Inspired87 Skrevet 1. april 2008 Del Skrevet 1. april 2008 Hallois Skrev ett forum selv for noen månder siden, og bør vel starte med og fortelle deg at et forum er et vanskelig prosjekt for en nybegynner Men hvis du ikke regner med og få noe særlig trafikk på siden er det jo ett kjempebra lære-prosjekt! Vanskelig og finne feil uten syntax-highligthning.. men kan jo starte med at du setter if (!isset($_GET['side'])){ $side = '1'; } else { $side = $_GET['side']; } $rows = 10; $minst = $side * $rows; $minst blir da 10, enig? så mysql_query'en din starter med og vise fra post 10-20. for og øke en variabel med en kan du skrive $variabel++; og for og minske kan du skrive $variabel--; Lykke til, skal se innom topicen din seinere hvis du skulle trenge noe mere hjelp Lenke til kommentar
Joachricar Skrevet 1. april 2008 Forfatter Del Skrevet 1. april 2008 (endret) Ahh, selvfølgelig. Slurveleif det der ^^ *prøve ut* Og, ja det er bare et øveprosjekt Jeg er nybegynner, og venter ikke stor trafikk Endret 1. april 2008 av Jokkeman Lenke til kommentar
Joachricar Skrevet 1. april 2008 Forfatter Del Skrevet 1. april 2008 (endret) Nå ser det ut som om det meste funker, utenom at det ikke tar men den siste tråden så nå viser den 10 på ene siden, og 1 på andre siden istedet for 2 elseif ($oppgave == "visforum"){ $id = $_GET['id']; if (!isset($_GET['side'])){ $side = '1'; } else { $side = $_GET['side']; } $rows = '10'; if ($side == '1'){ $minst = $side; } else { $minst = $side * $rows - $rows + 1; } $hent = mysql_query("SELECT * FROM Melding WHERE KategoriID ='$id' AND ID > '1' ORDER BY Dato DESC LIMIT ".$minst.", ".$rows.""); $henthk = mysql_query("SELECT * FROM Underkat WHERE ID = '$id'"); $henthka = mysql_fetch_array($henthk); echo "<table>"; echo "<tr><td colspan='2'>Du er her: <a href='forum.php'>Hovedside</a> -> " . $henthka['Katnavn'] . "</td><td><a href='forum.php?action=addtopic&id=" . $id . "' style=' float: right;'>Nytt emne</a></td></tr>"; echo "<tr><td id='hovedkat'><b>" . $henthka['Katnavn'] . "</b></td><td id='hovedkata'><b>Antall svar</b></td><td id='hovedkatb'><b>Av</b></td></tr>"; while ($henta = mysql_fetch_array($hent)) { $svar = mysql_query("SELECT * FROM Melding WHERE ID ='" . $henta['ID'] . "'"); $svara = mysql_fetch_array($svar); $antsvar = $svara['SvarID']; if (strlen($henta['ID']) > 1){ $hentantsvar = mysql_query("SELECT * FROM Melding WHERE SvarID = '$antsvar'"); $hentantsvara = mysql_fetch_array($hentantsvar); $antsvar2 = mysql_num_rows($hentantsvar); $hentbrukernavn = $henta['BrukerID']; $hentbruker = mysql_query("SELECT * FROM users WHERE Id = '$hentbrukernavn'"); $hentbrukera = mysql_fetch_array($hentbruker); echo "<tr><td id='underkat'><a href='forum.php?action=vistopic&id=" . $id . "&topid=" . $henta['ID'] . "'>" . $henta['Overskrift'] . "</a></td> <td id='underkata'>" . $antsvar2 . "</td><td id='underkatb'><a href='forum.php?action=profil&id=" . $henta['BrukerID'] . "'>" . $hentbrukera['Username'] . "</a></td></tr>"; } } $hentc = mysql_query("SELECT * FROM Melding WHERE KategoriID ='$id' AND ID > '1' ORDER BY Dato DESC"); echo "</table>"; $antalla = mysql_num_rows($hentc); $antallb = ceil($antalla/$rows); $antall = $antallb; $neste = $side + 1; $forrige = $side - 1; if ($antall == '1'){ echo "<small>Forrige (side 1 av 1) Neste</small>"; } else { if ($side == '1'){ echo "<small>Forrige (side 1 av " . $antall . ") <a href='forum.php?action=visforum&id=" . $id . "&side=" . $neste . "'>Neste</a></small>"; } elseif ($side == $antall){ echo "<small><a href='forum.php?action=visforum&id=" . $id . "&side=" . $forrige . "'>Forrige</a>(side " . $side . " av " . $antall . ") Neste</small>"; } else { echo "<small><a href='forum.php?action=visforum&id=" . $id . "&side=" . $forrige . "'>Forrige</a>(side " . $side . " av " . $antall . ") <a href='forum.php?action=visforum&id=" . $_GET['id'] . "&side=" . $neste . "'>Neste</a></small>"; } } mysql_close($con); } Ser ikke feilen her heller Endret 1. april 2008 av Jokkeman Lenke til kommentar
Inspired87 Skrevet 1. april 2008 Del Skrevet 1. april 2008 (endret) $hent = mysql_query("SELECT * FROM Melding WHERE KategoriID ='$id' AND ID > '1' ORDER BY Dato DESC LIMIT ".$minst.", ".$rows.""); J****lig trøtt nå, men: det skal vel være > '0' ellerså vil den ikke regne med raden med id = 1. Si ifra om det ikke hjalp Endret 1. april 2008 av Inspired87 Lenke til kommentar
Joachricar Skrevet 2. april 2008 Forfatter Del Skrevet 2. april 2008 Virket ikke =\ Lenke til kommentar
Inspired87 Skrevet 2. april 2008 Del Skrevet 2. april 2008 Hei. Orker ikke å teste scriptet ditt, men kompis driver å bygger opp ett hjelpeforum for php, og jeg fikk han til og legge opp et paging script nå.. Det ligger på www.destrobe.com. Lenke til kommentar
Dryper Skrevet 2. april 2008 Del Skrevet 2. april 2008 Hei. Orker ikke å teste scriptet ditt, men kompis driver å bygger opp ett hjelpeforum for php, og jeg fikk han til og legge opp et paging script nå.. Det ligger på www.destrobe.com. Får nå at serveren er nede -.- Lenke til kommentar
Dryper Skrevet 2. april 2008 Del Skrevet 2. april 2008 Hei. Orker ikke å teste scriptet ditt, men kompis driver å bygger opp ett hjelpeforum for php, og jeg fikk han til og legge opp et paging script nå.. Det ligger på www.destrobe.com. Får nå at serveren er nede -.- Der kom serveren opp igjen har nå testet dette og det ser ikke ut til å funke helt. Alle resultatene kommer opp og det blir også telt hvor mange det er. men når jeg prøver å klikke på linkene som viser til neste side så skjer det ingenting. den bare skifter id uten at noe skjer :S http://globalmafia.sytes.net/projects/auksjon/merkelig.php du ser det her 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å