---
title: "paging?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/81389-paging"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "jboy_87"
published: "2003-07-05T23:34:59.000Z"
updated: "2003-07-10T22:52:09.000Z"
replies: 15
views: 365
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/81389-paging"
---

# paging?

## #1 — jboy_87, 2003-07-05T23:34Z

varför vill inte paging funka.. får inga felmess , men när jag bläddrar till sid 2 så visas inga poster?

```
<?$sql = "SELECT Count(ID1) from kompisar where Till = '{$_SESSION['anvandarnamn']}' 
                  and accepterad = 1 or Fran = '{$_SESSION['anvandarnamn']}' and accepterad = 1";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$antal = mysql_result($result, 0);
echo $antal

$inlaggPerSida = 1; // sidor

$pageNumbers = ceil($antal/$inlaggPerSida); 

if (isset($HTTP_GET_VARS["sida"])){ 
    $sida = $HTTP_GET_VARS["sida"]; 
} else $sida = 1; 

$start = ($sida-1) * $inlaggPerSida; 

// paging

$sql = "SELECT kompisar.*, medlemmar.* FROM kompisar
INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.till Where 
kompisar.fran = '{$_SESSION['anvandarnamn']}' and accepterad = 1 union all 
SELECT kompisar.*, medlemmar.* FROM kompisar INNER JOIN medlemmar 
ON medlemmar.Anvandarnamn = kompisar.fran Where kompisar.till = '{$_SESSION['anvandarnamn']}'
and accepterad = 1 Order by Till ASC,status DESC LIMIT $start,$inlaggPerSida";
$result = mysql_query($sql);?>
```

Permalänk: https://www.webforum.nu/p/81389

## #2 — Matte, 2003-07-05T23:49Z

Hur ser länkningen till sida 2 ut?

Om du som test ändrar din andra SQL-fråga till:

```
$sql = "SELECT kompisar.*, medlemmar.* FROM kompisar
INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.till Where 
kompisar.fran = '{$_SESSION['anvandarnamn']}' and accepterad = 1 union all 
SELECT kompisar.*, medlemmar.* FROM kompisar INNER JOIN medlemmar 
ON medlemmar.Anvandarnamn = kompisar.fran Where kompisar.till = '{$_SESSION['anvandarnamn']}'
and accepterad = 1";
$result = mysql_query($sql);
echo mysql_num_rows($result);
```

 
Får du då ut samma siffra som $antal längre upp i skriptet?

Permalänk: https://www.webforum.nu/p/1104462

## #3 — jboy_87, 2003-07-05T23:56Z

$antal e det inga problem på får 7 st med din kod borde vara 3!

men när jag gör så här så funkar det?

$sql = "SELECT \* from kompisar";
$result = mysql_query($sql);

Permalänk: https://www.webforum.nu/p/1104463

## #4 — Matte, 2003-07-06T00:09Z

När jag tar en titt på dina bägge sql-frågor, så har du kolumnnamnen Till och Fran i den ena, medans du har kolumnnamnen till och fran i den andra.
Om jag minns rätt så är Kolumnnamn case-sensitive, det innebär att antingen är det fel i endera SQL-frågan eller så refererar dina frågor till olika kolumner.
Testa att ändra så att Till och Fran blir rätt vad det gäller versaler/gemener, gentemot vad du har i din databas.

Permalänk: https://www.webforum.nu/p/1104465

## #5 — Qimen, 2003-07-06T00:12Z

Ett tips annars är att använda det paging script som kjell postats i phpscriptforumet. Mycket bra, använder själv det på flera sidor. :)

Permalänk: https://www.webforum.nu/p/1104468

## #6 — jboy_87, 2003-07-06T00:21Z

har gjort det funkar fortfarande inte?

Permalänk: https://www.webforum.nu/p/1104472

## #7 — Matte, 2003-07-06T00:22Z

Tror inte det är själva pagingskriptet som det är problem med.

De flesta (om inte alla) pagingskript bygger principen att räkna antalet poster och sedan visa en delmängd ur dessa.
Urvalet i frågan som räknar antalet måste vara samma som när man sedan hämtar.

Här blev det olika antal om man plockade bort LIMIT (begränsningen av delmängd), så problemet bör snarare ligga i skillnader i SQL-frågorna.

Permalänk: https://www.webforum.nu/p/1104473

## #8 — Matte, 2003-07-06T00:36Z

Jag är för dålig på avancerade SQL-frågor, så detta kanske inte har någon betydelse, men om du gör samma urval när du räknar antal rader som när du hämtar, hur funkar det då?

```
<?php
$sql = "SELECT COUNT(*) FROM kompisar
INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.till Where 
kompisar.fran = '{$_SESSION['anvandarnamn']}' and accepterad = 1 union all 
SELECT kompisar.*, medlemmar.* FROM kompisar INNER JOIN medlemmar 
ON medlemmar.Anvandarnamn = kompisar.fran Where kompisar.till = '{$_SESSION['anvandarnamn']}'
and accepterad = 1";
$result = mysql_query($sql);
// $row = mysql_fetch_assoc($result);
$antal = mysql_result($result, 0);
echo $antal;
```

Permalänk: https://www.webforum.nu/p/1104481

## #9 — jboy_87, 2003-07-06T00:37Z

hmm det funkar inte när jag kör inner joins?

Permalänk: https://www.webforum.nu/p/1104482

## #10 — Matte, 2003-07-06T00:38Z

Såg du inlägget jag la strax före ditt?

Permalänk: https://www.webforum.nu/p/1104483

## #11 — jboy_87, 2003-07-06T00:38Z

nope det där har ingen betylse för att jag får ju ut 3 poster på nästa sida och det stämmer!

Permalänk: https://www.webforum.nu/p/1104484

## #12 — Matte, 2003-07-06T00:40Z

Då får du ut en sida 2 nu om jag förstår rätt?
Vad ligger problemet just nu?

Permalänk: https://www.webforum.nu/p/1104486

## #13 — jboy_87, 2003-07-06T00:41Z

nu såg jag felet. när jag lägger följande så funkar det inte??

where kompisar.fran = '{$\_SESSION\['anvandarnamn'\]}'

Permalänk: https://www.webforum.nu/p/1104489

## #14 — sabbacus, 2003-07-06T11:10Z

\_vad\_ funkar inte? är $\_SESSION\['anvandarnamn'\] tom?
Om du gör en echo på $sql, skrivs en korrekt SQL-fråga ut då eller saknas det värden?
Istället för att skriva 
where kompisar.fran = '{$\_SESSION\['anvandarnamn'\]}'
kan du skriva 
where kompisar.fran = " . $\_SESSION\["anvandarnamn"\] . "

Permalänk: https://www.webforum.nu/p/1104611

## #15 — jboy_87, 2003-07-06T15:01Z

så ser det ut när jag skriver ut $sql:
sida 1 = 

```
SELECT kompisar.*, medlemmar.* FROM kompisar INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.till Where kompisar.fran = 'jboy_87' and accepterad = 1 union ALL SELECT kompisar.*, medlemmar.* FROM kompisar INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.fran Where kompisar.till = 'jboy_87' and accepterad = 1 Order by Till ASC,status DESC LIMIT 0,1
```

sida 2 = 

```
SELECT kompisar.*, medlemmar.* FROM kompisar INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.till Where kompisar.fran = 'jboy_87' and accepterad = 1 union ALL SELECT kompisar.*, medlemmar.* FROM kompisar INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.fran Where kompisar.till = 'jboy_87' and accepterad = 1 Order by Till ASC,status DESC LIMIT 1,1
```

Permalänk: https://www.webforum.nu/p/1104827

## #16 — jboy_87, 2003-07-10T22:52Z

nån som vet?
när jag kör 2 wheret så blir det knas?
när jag tar bort det som är markerad så funkar det men kommer ut dubletter?

$sql = "SELECT kompisar.\*, medlemmar.\* FROM kompisar
INNER JOIN medlemmar ON medlemmar.Anvandarnamn = kompisar.till Where 
kompisar.fran = '".$\_SESSION\['anvandarnamn'\]."' and accepterad = 1 union all 
SELECT kompisar.\*, medlemmar.\* FROM kompisar INNER JOIN medlemmar 
ON medlemmar.Anvandarnamn = kompisar.fran Where **kompisar.till = '".$\_SESSION\['anvandarnamn'\]."' and**
accepterad = 1 Order by Till,Fran ASC,status DESC LIMIT $start,$inlaggPerSida";

Permalänk: https://www.webforum.nu/p/1107564

---

Tråden på webben: https://www.webforum.nu/amne/php/81389-paging
