Gå til innhold

problemer med "sidetall"-script [LØST]


Anbefalte innlegg

<?php

$hostname = "*****"; 
$user = "*****"; 
$password = "*****"; 

$connection = mysql_connect($hostname, $user, $password) or die("Umulig 
å få kontakt med database"); 

$db = mysql_select_db('*****', $connection); 


if(!isset($_GET['neste'])){
  $side = 1;
} else {
  $side = $_GET['neste'];
}

$maks_resultater = 10;

$fra = (($side * $maks_resultater) - $maks_resultater);

$sql = "SELECT * FROM `brukere` ORDER BY brukerid DESC LIMIT $fra, $maks_resultater";
$resultat = mysql_query($sql, $connection) or die(mysql_error());


print("<b>Alle Brukerene:</b><br><br>");
print("<table width=\"100%\" border=\"0\">");
print("<tr><td class=\"tabell\" width=\"20%\"><b>Brukernavn</b></td><td class=\"tabell\" width=\"40%\"><b>Navn</b></td><td class=\"tabell\" width=\"40%\"><b>Epost</b></td></tr>");

while($brukere = mysql_fetch_array($resultat))
{ 
print("<tr>"); 
print("<td class=\"tabell\" width=\"33%\">"); 
print("<a href=\"?side=profiler&brukerid={$brukere['brukerid']}\">{$brukere['brukernavn']}</a>"); 
print("</td>"); 
print("<td class=\"tabell\" width=\"33%\">"); 
print("{$brukere['navn']}"); 
print("</td>"); 
print("<td class=\"tabell\" width=\"33%\">"); 
print("<a href=\"mailto:{$brukere['epost']}\">{$brukere['epost']}</a>"); 
print("</td>"); 
print("</tr>");
}
print("</table><br><br>");

$sql2 = "SELECT COUNT(*) as Num FROM brukere";
$resultater = mysql_result(mysql_query($sql, $connection),0);

$totalt = ceil($resultater / $maks_resultater);

echo "<div align=\"center\">";
if($side > 1){
  $forrige = ($side - 1);
  echo "<a class=\"menulink\" href=\"?side=allebrukere&neste=$forrige\">« Forrige</a>  ";
  } else {
      echo "« Forrige  ";
}    

for($i = 1; $i <= $totalt; $i++){
  if(($side) == $i){
      echo "<strong>$i</strong>  ";
      } else {
          echo "<a class=\"menulink\" href=\"?side=allebrukere&neste=$i\">$i</a>  ";
  }
}

if($side < $totalt){
  $neste = ($side + 1);
  echo "<a class=\"menulink\" href=\"?side=allebrukere&neste=$neste\">Neste »</a>";
  } else {
      echo "Neste »";
}
echo "</div>";

?>

 

Alt fungerer som det skal her bortsett fra en liten ting.

Når du når du er på første siden, da ser du alle sider fremover, men hvis du går inn på andre siden da går det ikke ann å trykke på "neste" og siden nummer 3 ++ er borte, men du får gått tilbake til side 1, og deretter trykker på f.eks. side 2.

 

Hva er galt med koden? help me.. :innocent:

Endret av YaNkEs
Lenke til kommentar
Videoannonse
Annonse

Hvorfor gjør du dette?

 

$sql2 = "SELECT COUNT(*) as Num FROM brukere";
$resultater = mysql_result(mysql_query($sql, $connection),0);

 

Skal ikke $sql2 brukes til noe?

 

edit:

 

Videre så ser noe som jeg tror er feil. Er ikke så stødig på spørringer sånn i hodet. Men tror det stemmer.

 

$sql = "SELECT * FROM `brukere` ORDER BY brukerid DESC LIMIT $fra, $maks_resultater";

 

 

Du har riktig $fra. Men maks_resultater blir alltid 10. Poenget må vel være å at avstanden fra $fra og $maks_resultater skal være 10?

 

F.eks så vil LIMIT 10,20 velge alle radene fra 10 til 20.

 

Så Limit $fra, ($maks_resultater * $side) tror jeg fikser biffen. Ble veldig rotete formulert her, men håper du skjønner hva jeg mener.

Endret av arnizzz
Lenke til kommentar
Fader å, jeg har vært litt slurvette gitt!

Men alt ordna seg bare jeg bytta ut $slq med $sql2 på den ene linja der!

hehe, men takk for hjelpa!

6011753[/snapback]

 

Hehe. Sånn er det. Du bør kanskje begynne å bruke litt mer beskrivende variabelnavn, så unngår du slike ting ;)

Lenke til kommentar

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å
×
×
  • Opprett ny...