Avatar billede technodance.dk Nybegynder
02. august 2003 - 17:21 Der er 4 kommentarer og
1 løsning

bruger kan ikke se de næste poster

Hej exp.


jeg har et post system som min bruger kan bruge men vis de har mere ad 2 poster så kan de ikke se de næste poster


håber i kan hjælpe mig

//rene

//-------PHP Kode----------//


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
    <TITLE>[bruger post system 1.0]</TITLE>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<LINK REL="stylesheet" HREF="indstillinger.css" TYPE="text/css">
</HEAD>
<BODY ID="indhold">

<?
// indlæg fra forumet
// kode kommer her



mysql_connect("mysql.fairhost.dk", "zubnet", "sol20sol");
mysql_select_db("zubnet");

 

$pr_side = "2"; //Definerer antal resultater pr. side

if(isset($_GET['brugernavn'])) {
  $tabel = $_GET['brugernavn'];



    if (!isset($s)) {
  $s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den //



    echo "<table>\n";
    echo "<TR>\n<TD VALIGN='TOP' class='sp1'>";
    echo "<a href='?brugernavn=$brugernavn'>(hendt post)</a> | <A TARGET=show HREF=skriv_bruger.php>(Send post)</A><br>$fejl";
    echo "</TD>\n</TR>\n";
    echo "</table>\n";
$query = mysql_query("select * from $tabel order by dato asc limit $s,$pr_side") or die(mysql_error());
while($row = mysql_fetch_array($query)){


echo "<table>\n";
echo "<TR>\n<TD VALIGN='TOP' class='sp1'>";
echo "<a onclick=\"return confirm('Er du sikker på at du vil slette brevet fra: $row[navn]')\" href=\"slet_bruger_post.php?slet=$row[id]&brugernavn=$brugernavn\">(Slet besked)</a> | <A HREF='skriv_bruger.php?to=$row[navn]'>$row[navn]</A><br>";
echo "</TD>\n</TR>\n";
echo "</table>\n";

echo "<table>\n";
echo "<TR>\n<TD VALIGN='TOP' class='sp1'>\n";
echo "Dato:&nbsp;&nbsp;<FONT COLOR='000000'>$row[dato]</FONT><br>";
echo "Fra bruger:&nbsp;&nbsp;<FONT COLOR='000000'>$row[navn]</FONT><br>";
echo "Besked:&nbsp;&nbsp;<FONT COLOR='000000'>$row[besked]</FONT><br>";
echo "</TD>\n</TR>\n";
echo "</table>\n";


}

echo "</table>";
echo "<table>";
echo "<TR><TD class='sp1'>\n";


$g_total = mysql_query("select count(id) as total from $tabel") or die(mysql_error());
$total = mysql_result($g_total,0);

##
#Find ud af om derskal være et Forrige link
##
if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side
    $previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes
    echo "<a href='?s=$previous_s'>Forrige</a> "; //Udskriver linket
}

##
#Find ud af hvis/hvor mange sider der er rows til
##
$page = 1; //Definerer hvor sidetal skal starte
for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere
    if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på
        echo "<a href='?s=$start'>$page</a> "; //...hvis ikke, udskrives link med værdien af $page
    } else { //Ellers, dvs. hvis linket vil pege på den side man er på..
        echo "$page "; //...udskrives værdien af $page bare, altså ikke som link
    }
    $page++; //Lægger en til $page til næste gang løkken køres
}

##
#Find ud af om der skal være et næste link
##
if ($total > $s+$pr_side) { //Tjekker om der er flere sider
    $next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes
    echo "<a href='?s=$next_s'>Næste</a>"; //Udskriver linket "næste"

}
}




$foresp = mysql_query("SELECT count(*) as antal from $tabel");

while($data = mysql_fetch_row($foresp))
{
    if($data[0] == 0)
    {       
           
            echo "<center><h4><font COLOR='FF0000'>Der er ingen post</font></h4></center>";

    }else{

    if($data[0] == 11)
    {       
           
            echo "<center><h4><font COLOR='FF0000'>Du har for mange meddelelser</font></h4></center>";

    }else{
    echo "";
    }
}
}
}

echo "</td></tr>\n";
echo "</table>\n";
?>


</BODY>
</HTML>
Avatar billede squashguy Nybegynder
02. august 2003 - 17:28 #1
det er jo også en limit i sql'en på 2

$pr_side = "2";
Avatar billede squashguy Nybegynder
02. august 2003 - 17:30 #2
så du skal bladre for at se de næste...
Avatar billede erikjacobsen Ekspert
02. august 2003 - 17:37 #3
1) Du skal vel have brugernavn med til næste side
2) Tror du ikke du også skal $s=$_GET['s']
3) Der er sikkert andet galt - det er temmelig rodet
Avatar billede squashguy Nybegynder
02. august 2003 - 17:38 #4
jeg har lige kigget på det kort, og erik har ret mhs punkt 2
Avatar billede zyqt Nybegynder
03. august 2003 - 03:12 #5
Så vidt jeg ser det er fejlen bare at du har glemt også at gøre $pr_side større når du bruger "næste" linket fordi uden den kommer det jo til at hedde :

$query = mysql_query("select * from $tabel order by dato asc limit $s/*2*/,$pr_side/*2*/") or die(mysql_error());

altså den gør fra nr 2 til nr 2.

håber jeg har ret, er meget træt :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester