kakkle Skrevet 30. juli 2007 Del Skrevet 30. juli 2007 (endret) Vel, her er en mulig løsning. Lager linker med sidetall i toppen som kan trykkes på. Ikke link på aktiv side. Neste / Forrige side, skal være enkelt å lage, dersom du vil ha det ($side-1 og $side+1, med noen tester om de linkene trengs, f.eks) <?php $matrise = file('guestbook.txt'); $matrise = array_reverse($matrise); $antprside = 10; $antinnlegg = count($matrise); // Antall linjer i filen $antsider = ceil($antinnlegg / $antprside); // Antall sider som skal vises $side = isset($_GET["side"])?$_GET["side"]:1; $start = ($side-1) * $antprside; $stopp = $start + $antprside; $i=1; // // Skriv ut side linker(kun hvis det er mer enn 1 side): // if($antsider > 1) { // Sjekk om sidetall skal skrive ut for ($teller=0;$teller<$antsider;$teller++) { // tell gjennom sidene if($teller != ($side-1)) { // Lag link hvis det ikke er den aktive siden echo " <a href='?side=".($teller+1)."'>".($teller+1)."</a> "; } // if else { //skriv ut sidetallet uten link echo " ".($teller+1)." "; }// else } // for }// if // Gå gjennom alle linjene/postene for ($j=$start;$j<$stopp;$j++) { // loop fra linje $start til linje $stopp // Del opp linja $j i variabler. (avhengig av side man er på) list($name, $message, $date, $time) = explode("*-*", $matrise[$j]); // Skriv ut posten echo '<!-- START PÅHTML-->'; echo '<div class="'; if ($i&1) echo '1'; else echo '2'; echo '">'.$name.'<span class="dato">'.$time.' '.$date.'</span><br>'; echo $message.'</div> <!-- SLUTT PÅ HTML -->'; $i++; } ?> Med forbehold om småfeil... EDIT: Litt rot med æøå, og pluss at det VAR noen småfeil, da (sikkert flere, men håper du skjønner tegningen) Endret 30. juli 2007 av kakkle Lenke til kommentar
slippern Skrevet 6. august 2007 Forfatter Del Skrevet 6. august 2007 brukte den koden til mariyo.. men det står 1, 2, 3 uansett hva.. er en bugg sikkert, men finner ikkje feilen. Lenke til kommentar
Gjest Slettet+142 Skrevet 6. august 2007 Del Skrevet 6. august 2007 Jeg finner heller ikke feilen. Er du sikker på at du har flere enn 29 innlegg i gjesteboken din? Lenke til kommentar
slippern Skrevet 6. august 2007 Forfatter Del Skrevet 6. august 2007 (endret) jeg har bare 6 innlegg i gjesteboken, men når jeg trykker på neste side, så blar den ikke over til side 2.. foresten så ser jeg at neste side linken ser sånn her ut: http://www.arctic-nuke.com/index.php?side=...et=(0%20+%2010) Endret 6. august 2007 av slippern Lenke til kommentar
Gjest Slettet+142 Skrevet 6. august 2007 Del Skrevet 6. august 2007 Jeg quoter meg selv ifra tidligere i tråden jeg da.. Få se koden som du endret da.. Trenger ikke se hele men vil se om det er kommet noen mellomrom eller en apostrof for lite eller noe slikt 9158811[/snapback] Lenke til kommentar
slippern Skrevet 6. august 2007 Forfatter Del Skrevet 6. august 2007 Klikk for å se/fjerne innholdet nedenfor <?php if(isset($_SESSION['username'])) { $id = mysql_real_escape_string( $_GET['id'] ); $bruker = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($bruker)) { echo "<a href='index.php?side=profil&id=$id'>Profil</a> <a href='index.php?side=gjestebok&id=$id'>Gjestebok</a><br /> <br />"; $brukernavn = $row->username; echo "<h3>Gjesteboken til $brukernavn</h3><br /><br />"; } $minidd = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($minidd)) { $idd = $row->id; } // HER KOMMER SKRIPTET INN // ####################### $q_a = mysql_query("SELECT COUNT(*) AS antall FROM gjestebok"); $r_a = mysql_fetch_assoc($q_a); $antall_emner = $r_a["antall"]; unset($q_a,$r_a); $offset = $_GET["offset"]; $offset = (empty($offset) || !is_numeric($offset) || $offset < 0 || $offset >= ($antall_emner)) ? 0 : $offset; // ############################## // HER SLUTTER SIDE-TALL SKRIPTET $gjestebok_sql = "SELECT * FROM gjestebok WHERE uid ='$id' ORDER BY time DESC LIMIT {$offset},10"; // Her Fiksa jeg SQL med en liten LIMIT $gjestebok = mysql_query($gjestebok_sql); while($row = mysql_fetch_object ($gjestebok)) { $fra = $row->fraid; $ids = $row->id; $uid = $row->uid; $svar = $row->svinlegg; echo " <table border='0' > <tr> <td>Fra: <a href='index.php?side=profil&id={$row->fraid}'>{$row->fra}</a> </td> <td>{$row->dato} {$row->time}<br /> </td> </tr> <tr> <td> <a href='index.php?side=profil&id={$row->fraid}'> <img src='user/{$row->fraid}.jpg' alt='{$row->fraid}' width='80' height='80'></a></td> <td> {$row->innlegg}"; if($id == $idd) if (empty($svar)) { echo "<br /><br /><a href='index.php?side=gjestebok_svar&id=$ids&uid=$fra'>Kommenter</a>";} else echo "<br /><h4>Kommentar</h4> $svar"; echo " </td> </tr></table><br />"; } // HER KOMMER SKRIPTET INN // ####################### if($offset > 0){ if($offset < 10) $forrige = 0; else $forrige = $offset - 10; echo "<a href='index.php?side=gjestebok&id=$id&=offset=$forrige'>Forrige side</a>"; } $k = 1; for($i=0;$i<$antall_emner;$i+=10){ echo "<a href='index.php?side=gjestebok&id=$id&=offset=$i'>$k</a>"; echo " \n"; $k++; } echo str_repeat(" ",1) . "\n"; if($offset <= ($antall_emner)){ echo "<a href='index.php?side=gjestebok&id=$id&=offset=($offset + 10)'>Neste side</a>"; } // ############################## // HER SLUTTER SIDE-TALL SKRIPTET ?> <?php if($id != $idd){ ?> <form action="" method="post"> <textarea name="skriv" cols="40" id="skriv" rows="5" /><br /> <input type="submit" name="submit" value="Svar"> <?php } $till = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($till)) { $til = $row->username; } $min = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($min)) { $mittbrukernavn = $row->username; $minid= $row->id; } $skriv = $_POST["skriv"]; if(isset($_POST[submit])) { if(!empty($skriv)){ $til = $til; $innlegg = $_POST["skriv"]; $fra = $_SESSION['username']; $time = date("j-n-Y H:i:s"); $fraid = $minid; $uid = $id; $request = "INSERT INTO gjestebok (til, innlegg, fra, time, fraid, uid) VALUES ('$til', '$innlegg', '$fra', '$time', '$fraid','$uid')"; $results = mysql_query($request); if (mysql_errno( )) echo mysql_error(); if(mysql_affected_rows()) if($results) { header("Location: index.php?side=gjestebok&id=$id"); echo "<br />Gjestebok innlegget ble lagret"; } } else { echo ""; } } } ?> Lenke til kommentar
Gjest Slettet+142 Skrevet 6. august 2007 Del Skrevet 6. august 2007 Fant en liten feil i utskriften av linken: <?php if(isset($_SESSION['username'])) { $id = mysql_real_escape_string( $_GET['id'] ); $bruker = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($bruker)) { echo "<a href='index.php?side=profil&id=$id'>Profil</a> <a href='index.php?side=gjestebok&id=$id'>Gjestebok</a><br /> <br />"; $brukernavn = $row->username; echo "<h3>Gjesteboken til $brukernavn</h3><br /><br />"; } $minidd = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($minidd)) { $idd = $row->id; } // HER KOMMER SKRIPTET INN // ####################### $q_a = mysql_query("SELECT COUNT(*) AS antall FROM gjestebok"); $r_a = mysql_fetch_assoc($q_a); $antall_emner = $r_a["antall"]; unset($q_a,$r_a); $offset = $_GET["offset"]; $offset = (empty($offset) || !is_numeric($offset) || $offset < 0 || $offset >= ($antall_emner)) ? 0 : $offset; // ############################## // HER SLUTTER SIDE-TALL SKRIPTET $gjestebok_sql = "SELECT * FROM gjestebok WHERE uid ='$id' ORDER BY time DESC LIMIT {$offset},10"; // Her Fiksa jeg SQL med en liten LIMIT smile.gif $gjestebok = mysql_query($gjestebok_sql); while($row = mysql_fetch_object ($gjestebok)) { $fra = $row->fraid; $ids = $row->id; $uid = $row->uid; $svar = $row->svinlegg; echo " <table border='0' > <tr> <td>Fra: <a href='index.php?side=profil&id={$row->fraid}'>{$row->fra}</a> </td> <td>{$row->dato} {$row->time}<br /> </td> </tr> <tr> <td> <a href='index.php?side=profil&id={$row->fraid}'> <img src='user/{$row->fraid}.jpg' alt='{$row->fraid}' width='80' height='80'></a></td> <td> {$row->innlegg}"; if($id == $idd) if (empty($svar)) { echo "<br /><br /><a href='index.php?side=gjestebok_svar&id=$ids&uid=$fra'>Kommenter</a>";} else echo "<br /><h4>Kommentar</h4> $svar"; echo " </td> </tr></table><br />"; } // HER KOMMER SKRIPTET INN // ####################### if($offset > 0){ if($offset < 10) $forrige = 0; else $forrige = $offset - 10; echo "<a href='index.php?side=gjestebok&id=$id&=offset=$forrige'>Forrige side</a>"; } $k = 1; for($i=0;$i<$antall_emner;$i+=10){ echo "<a href='index.php?side=gjestebok&id=$id&offset=".$i."'>$k</a>"; echo " \n"; $k++; } echo str_repeat(" ",1) . "\n"; if($offset <= ($antall_emner)){ echo "<a href='index.php?side=gjestebok&id=$id&offset=".($offset + 10)."'>Neste side</a>"; } // ############################## // HER SLUTTER SIDE-TALL SKRIPTET ?> <?php if($id != $idd){ ?> <form action="" method="post"> <textarea name="skriv" cols="40" id="skriv" rows="5" /><br /> <input type="submit" name="submit" value="Svar"> <?php } $till = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($till)) { $til = $row->username; } $min = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($min)) { $mittbrukernavn = $row->username; $minid= $row->id; } $skriv = $_POST["skriv"]; if(isset($_POST[submit])) { if(!empty($skriv)){ $til = $til; $innlegg = $_POST["skriv"]; $fra = $_SESSION['username']; $time = date("j-n-Y H:i:s"); $fraid = $minid; $uid = $id; $request = "INSERT INTO gjestebok (til, innlegg, fra, time, fraid, uid) VALUES ('$til', '$innlegg', '$fra', '$time', '$fraid','$uid')"; $results = mysql_query($request); if (mysql_errno( )) echo mysql_error(); if(mysql_affected_rows()) if($results) { header("Location: index.php?side=gjestebok&id=$id"); echo "<br />Gjestebok innlegget ble lagret"; } } else { echo ""; } } } ?> Lenke til kommentar
slippern Skrevet 6. august 2007 Forfatter Del Skrevet 6. august 2007 der funket det =) men står framdeles 1 2 3.. rart.. Lenke til kommentar
slippern Skrevet 6. august 2007 Forfatter Del Skrevet 6. august 2007 har en liten anelse om hva det kan være.. har ca 24 innlegg totalt.. på alle gjestebøkene, kan det være at han tar ut alle sammen, men at jeg bare får se mine? Lenke til kommentar
Gjest Slettet+142 Skrevet 6. august 2007 Del Skrevet 6. august 2007 Det er nok det, ja Har fikset den under nå, tror jeg <?php if(isset($_SESSION['username'])) { $id = mysql_real_escape_string( $_GET['id'] ); $bruker = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($bruker)) { echo "<a href='index.php?side=profil&id=$id'>Profil</a> <a href='index.php?side=gjestebok&id=$id'>Gjestebok</a><br /> <br />"; $brukernavn = $row->username; echo "<h3>Gjesteboken til $brukernavn</h3><br /><br />"; } $minidd = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($minidd)) { $idd = $row->id; } // HER KOMMER SKRIPTET INN // ####################### $q_a = mysql_query("SELECT COUNT(*) AS antall FROM gjestebok WHERE uid ='{$id}'"); $r_a = mysql_fetch_assoc($q_a); $antall_emner = $r_a["antall"]; unset($q_a,$r_a); $offset = $_GET["offset"]; $offset = (empty($offset) || !is_numeric($offset) || $offset < 0 || $offset >= ($antall_emner)) ? 0 : $offset; // ############################## // HER SLUTTER SIDE-TALL SKRIPTET $gjestebok_sql = "SELECT * FROM gjestebok WHERE uid ='$id' ORDER BY time DESC LIMIT {$offset},10"; // Her Fiksa jeg SQL med en liten LIMIT smile.gif $gjestebok = mysql_query($gjestebok_sql); while($row = mysql_fetch_object ($gjestebok)) { $fra = $row->fraid; $ids = $row->id; $uid = $row->uid; $svar = $row->svinlegg; echo " <table border='0' > <tr> <td>Fra: <a href='index.php?side=profil&id={$row->fraid}'>{$row->fra}</a> </td> <td>{$row->dato} {$row->time}<br /> </td> </tr> <tr> <td> <a href='index.php?side=profil&id={$row->fraid}'> <img src='user/{$row->fraid}.jpg' alt='{$row->fraid}' width='80' height='80'></a></td> <td> {$row->innlegg}"; if($id == $idd) if (empty($svar)) { echo "<br /><br /><a href='index.php?side=gjestebok_svar&id=$ids&uid=$fra'>Kommenter</a>";} else echo "<br /><h4>Kommentar</h4> $svar"; echo " </td> </tr></table><br />"; } // HER KOMMER SKRIPTET INN // ####################### if($offset > 0){ if($offset < 10) $forrige = 0; else $forrige = $offset - 10; echo "<a href='index.php?side=gjestebok&id=$id&=offset=$forrige'>Forrige side</a>"; } $k = 1; for($i=0;$i<$antall_emner;$i+=10){ echo "<a href='index.php?side=gjestebok&id=$id&offset=".$i."'>$k</a>"; echo " \n"; $k++; } echo str_repeat(" ",1) . "\n"; if($offset <= ($antall_emner)){ echo "<a href='index.php?side=gjestebok&id=$id&offset=".($offset + 10)."'>Neste side</a>"; } // ############################## // HER SLUTTER SIDE-TALL SKRIPTET ?> <?php if($id != $idd){ ?> <form action="" method="post"> <textarea name="skriv" cols="40" id="skriv" rows="5" /><br /> <input type="submit" name="submit" value="Svar"> <?php } $till = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($till)) { $til = $row->username; } $min = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($min)) { $mittbrukernavn = $row->username; $minid= $row->id; } $skriv = $_POST["skriv"]; if(isset($_POST[submit])) { if(!empty($skriv)){ $til = $til; $innlegg = $_POST["skriv"]; $fra = $_SESSION['username']; $time = date("j-n-Y H:i:s"); $fraid = $minid; $uid = $id; $request = "INSERT INTO gjestebok (til, innlegg, fra, time, fraid, uid) VALUES ('$til', '$innlegg', '$fra', '$time', '$fraid','$uid')"; $results = mysql_query($request); if (mysql_errno( )) echo mysql_error(); if(mysql_affected_rows()) if($results) { header("Location: index.php?side=gjestebok&id=$id"); echo "<br />Gjestebok innlegget ble lagret"; } } else { echo ""; } } } ?> Lenke til kommentar
slippern Skrevet 7. august 2007 Forfatter Del Skrevet 7. august 2007 ser ut til og funke, men neste side står der hele tiden:P hehe Lenke til kommentar
Gjest Slettet+142 Skrevet 7. august 2007 Del Skrevet 7. august 2007 Da kom nok en liten fiks: Håpe det funker fint nå da <?php if(isset($_SESSION['username'])) { $id = mysql_real_escape_string( $_GET['id'] ); $bruker = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($bruker)) { echo "<a href='index.php?side=profil&id=$id'>Profil</a> <a href='index.php?side=gjestebok&id=$id'>Gjestebok</a><br /> <br />"; $brukernavn = $row->username; echo "<h3>Gjesteboken til $brukernavn</h3><br /><br />"; } $minidd = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($minidd)) { $idd = $row->id; } // HER KOMMER SKRIPTET INN // ####################### $q_a = mysql_query("SELECT COUNT(*) AS antall FROM gjestebok WHERE uid ='{$id}'"); $r_a = mysql_fetch_assoc($q_a); $antall_emner = $r_a["antall"]; unset($q_a,$r_a); $offset = $_GET["offset"]; $offset = (empty($offset) || !is_numeric($offset) || $offset < 0 || $offset >= ($antall_emner)) ? 0 : $offset; // ############################## // HER SLUTTER SIDE-TALL SKRIPTET $gjestebok_sql = "SELECT * FROM gjestebok WHERE uid ='$id' ORDER BY time DESC LIMIT {$offset},10"; // Her Fiksa jeg SQL med en liten LIMIT smile.gif $gjestebok = mysql_query($gjestebok_sql); while($row = mysql_fetch_object ($gjestebok)) { $fra = $row->fraid; $ids = $row->id; $uid = $row->uid; $svar = $row->svinlegg; echo " <table border='0' > <tr> <td>Fra: <a href='index.php?side=profil&id={$row->fraid}'>{$row->fra}</a> </td> <td>{$row->dato} {$row->time}<br /> </td> </tr> <tr> <td> <a href='index.php?side=profil&id={$row->fraid}'> <img src='user/{$row->fraid}.jpg' alt='{$row->fraid}' width='80' height='80'></a></td> <td> {$row->innlegg}"; if($id == $idd) if (empty($svar)) { echo "<br /><br /><a href='index.php?side=gjestebok_svar&id=$ids&uid=$fra'>Kommenter</a>";} else echo "<br /><h4>Kommentar</h4> $svar"; echo " </td> </tr></table><br />"; } // HER KOMMER SKRIPTET INN // ####################### if($offset > 0){ if($offset < 10) $forrige = 0; else $forrige = $offset - 10; echo "<a href='index.php?side=gjestebok&id=$id&=offset=$forrige'>Forrige side</a>"; } $k = 1; for($i=0;$i<$antall_emner;$i+=10){ echo "<a href='index.php?side=gjestebok&id=$id&offset=".$i."'>$k</a>"; echo " \n"; $k++; } echo str_repeat(" ",1) . "\n"; if( ($offset+10) <= ($antall_emner)){ echo "<a href='index.php?side=gjestebok&id=$id&offset=".($offset + 10)."'>Neste side</a>"; } // ############################## // HER SLUTTER SIDE-TALL SKRIPTET ?> <?php if($id != $idd){ ?> <form action="" method="post"> <textarea name="skriv" cols="40" id="skriv" rows="5" /><br /> <input type="submit" name="submit" value="Svar"> <?php } $till = mysql_query("SELECT * FROM brukere WHERE id ='$id'"); while($row = mysql_fetch_object ($till)) { $til = $row->username; } $min = mysql_query("SELECT * FROM brukere WHERE username ='{$_SESSION['username']}'"); while($row = mysql_fetch_object ($min)) { $mittbrukernavn = $row->username; $minid= $row->id; } $skriv = $_POST["skriv"]; if(isset($_POST[submit])) { if(!empty($skriv)){ $til = $til; $innlegg = $_POST["skriv"]; $fra = $_SESSION['username']; $time = date("j-n-Y H:i:s"); $fraid = $minid; $uid = $id; $request = "INSERT INTO gjestebok (til, innlegg, fra, time, fraid, uid) VALUES ('$til', '$innlegg', '$fra', '$time', '$fraid','$uid')"; $results = mysql_query($request); if (mysql_errno( )) echo mysql_error(); if(mysql_affected_rows()) if($results) { header("Location: index.php?side=gjestebok&id=$id"); echo "<br />Gjestebok innlegget ble lagret"; } } else { echo ""; } } } ?> Lenke til kommentar
slippern Skrevet 7. august 2007 Forfatter Del Skrevet 7. august 2007 takker fungerer kjæmpefint nå =) 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å