WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   resultat från databas i X rader i PHP (https://www.wn.se/forum/showthread.php?t=12922)

eroticline 2006-03-14 07:03

Hej !!!

Jag försöker fnula ut hur man delar upp resultatet från en databas i X antal rader i PHP ...

tex.
sida 1 visar 5 rader dvs. rad 1-5
sida 2 visar 5 rader dvs. rad 6-10 etc.

Tanken e att man ska kunna ange www.domän.se/sida.php?s=1 och den då visar sida 1.

Här e början på det scriptet ja tänkte köra man körde nu fast då ja har svårt att klura ut detta...


Kod:

<?php
$länk = @mysql_connect ("localhost","user","pass")
        or die ("Kunde inte ansluta till databas");
$databas = mysql_select_db("databas");
$sql="SELECT * FROM Products";
$result=mysql_query("$sql");

while($rad=mysql_fetch_array($result)) {
        echo "ID: ".$rad[artnr]."Namn: ".$rad[name]."<br>";
}
mysql_close($länk);


?>


eg0master 2006-03-14 07:12

Om du kör MySQL (vilket jag chansar på med tanke på att du använder mysql_query...):
Kod:

SELECT *
FROM Products
LIMIT ($page-1)*$page_size, $page_size

För andra databaser gäller (sannolikt) annan syntax.

HenrikAI 2006-03-14 07:14

Lägg på en LIMIT på din sql-fråga:

Kod:

LIMIT 0,10 ger dig de första 10 resultaten (det första är nr 0)
LIMIT 10,10 ger dig nästa 10
LIMIT 20,10 ger dig nästa 10
osv.

Så kanske något i stil med det här (om vi antar att s=1 är första sidan och att man ignorerar eventuella fel):

Kod:

$start = ($_GET['s']-1)*10;
$sql = "SELECT * FROM Products LIMIT $start,10";

EDIT: Okej, eg0 han förre.

eroticline 2006-03-14 07:23

Tack för snabba och bra svar :D
nu är jag med på den biten *L*

M.V.H

Christer


Alla tider är GMT +2. Klockan är nu 12:25.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson