---
title: "Visa resultat från mysql"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16018-visa-resultat-från-mysql"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "UrMe"
published: "2001-08-22T00:19:00.000Z"
updated: "2001-08-22T20:24:00.000Z"
replies: 4
views: 305
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/16018-visa-resultat-från-mysql"
---

# Visa resultat från mysql

## #1 — UrMe, 2001-08-22T00:19Z

Jag har en mysql databas som vi säger innehåller detta:
id och totalt
totalt är ett tal t.ex 34.
Problemet är att jag vill visa ett visst id t.ex 4 som har totalt=12.
Men jag vill även lista de 25 id:n som ligger precis ovanför id=4 och de 25 som ligger precis under och id=4 ska visas i mitten av dessa:
Så här:
\-----------------------
id        totalt
2          67
45         54
43         53
etc
etc
 **4        12** 
87         8
61         7
etc
etc
\---------------------------------
Hoppas nån förstod min jobbiga förklaring :)
Tack på förhand!

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

## #2 — LarsG, 2001-08-22T09:04Z

Hur då ovanför och under? Du måste ha något begrepp att sortera efter annars så är ovanför och under meningslöst. Har du en datum/tid kolumn med i tabellen?

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

## #3 — UrMe, 2001-08-22T09:29Z

Nej.. ingen datum och tid.. utan jag vill visa vi säger 51 resultat beroende på en variabel $id som skickas med.. och sortera efter "totalt". Alltså den variabeln id som skickas med.. den saken från databasen ska visas i mitten.. sedan ta 25st som ligger precis ovanför och 25st som ligger precis under $id .. allt efter man sorterat efter "totalt" som finns i databasen.

Svårt att förklara .. hoppas det klarnar

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

## #4 — LarsG, 2001-08-22T13:32Z

jag förstår nu. Kommer dock inte på någon effektiv lösning. 
Lite schematiskt beskrivet kan man göra så här

select total from t
 where id = $id;

$total = total;

/\* Hämta de 25 som ligger ovanför vår total \*/

select id,total from t
 where total \> $total 
 order by total
 limit 25;

/\* dessa kommer då i fel ordning
  måste vändas innan utskrift \*/

/\* skriv ut vårt värde \*/

echo $id . $total;

/\* Hämta de 25 som ligger närmast under \*/

select id,total from t
 where total \< $total 
 order by total desc
 limit 25;

/\* Dessa kan skrivas ut direkt \*/

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

## #5 — FlashX, 2001-08-22T20:24Z

Du kan göra två select i samma fråga också.
Nu skrev du inte namnet på tabellen så jag kallar den tableName

```
SELECT t1.id AS id, t1.totalt, t2.id AS target FROM tableName AS t1, tableName t2 WHERE t2.id=$id HAVING t1.id > target -26 AND t1.id < target +26;
```

Du får 25 ovanför och 25 under men bara om id-numren följs stegvis i databasen. Har du raderat någon post mellan dem i sql-query'n, så finns ju inte den posten och då visas exempelvis bara 24 stycken istället.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/16018-visa-resultat-från-mysql
