Gå til innhold

Hvordan lage "bla" linker


Anbefalte innlegg

Skrevet (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 av kakkle
Videoannonse
Annonse
Gjest Slettet+142
Skrevet

Jeg finner heller ikke feilen.

Er du sikker på at du har flere enn 29 innlegg i gjesteboken din?

Gjest Slettet+142
Skrevet

Jeg quoter meg selv ifra tidligere i tråden jeg da..

Få se koden som du endret da.. Trenger ikke se hele :p

 

men vil se om det er kommet noen mellomrom eller en apostrof for lite eller noe slikt :)

9158811[/snapback]

Skrevet

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 "";

}

}

}

 

?>

 

 

 

 

 

Gjest Slettet+142
Skrevet

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 "";
}
}
}

?>

 

Skrevet

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?

Gjest Slettet+142
Skrevet

Det er nok det, ja ;)

Har fikset den under nå, tror jeg :p

 

<?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 "";
}
}
}

?>

 

Gjest Slettet+142
Skrevet

Da kom nok en liten fiks: :p

Håpe det funker fint nå da :p

 

<?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 "";
}
}
}

?>

 

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...