Avatar billede msoee Nybegynder
03. marts 2004 - 11:58 Der er 10 kommentarer og
1 løsning

PHP: Print id x til x

Hey Eksperter ;)

Jeg sidder og fixer med noget php og er stadig lidt "nybegynderagtig" hva det angår...

Kan i hjælpe mig med den her;
har en formel der printer data ud fra min database der ser således ud:

<?php
$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn");

while ($row = mysql_fetch_array($forespoergsel)) {

print "<li STYLE=\"line-height:22px;\"><a href=\"kurser.php?id=$row[id]\">$row[navn]</a>";

}
?>

Vil gerne vide hva jeg skal gøre for at vise
id 1-8 på min side... og derefter 8-X...

Det skal nemlig printes forskellige steder :) håber i forstår mig..
Avatar billede exp Juniormester
03. marts 2004 - 12:00 #1
$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 1, 8");

herefter

$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 9, 16");
Avatar billede msoee Nybegynder
03. marts 2004 - 12:10 #2
1000 tak :)
Avatar billede exp Juniormester
03. marts 2004 - 12:17 #3
np :-)

Limit kan så sættes i adresselinien, fx
/fil.php?start=1&slut=8

$forespoergsel = mysql_query("SELECT * FROM `adm` WHERE `egenskab` = '4' ORDER BY `navn` LIMIT ".$_GET['start'].", ".$_GET['slut']."");
Avatar billede msoee Nybegynder
03. marts 2004 - 12:27 #4
uhm okay :) tænkte på den der hedder 9-16 hvis jeg vil have den til at printe 9-sidte id i db'en der... hva gør jeg så, prøvede nemlig lige at slette 16 og det var den ikke glad for :P altså så der stod 9, ");
Avatar billede exp Juniormester
03. marts 2004 - 12:30 #5
Så kan du evt prøve:
$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 9, 9");

men mere korrekt ville være:
$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 AND id = 9");
Avatar billede detox Nybegynder
03. marts 2004 - 12:32 #6
Den sidste parameter i LIMIT angiver hvor mange rækker der max skal hentes, så den anden forespørgsel bør være:


$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 9, 8");

og kun den 9'ende række:


$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 9, 1");
Avatar billede detox Nybegynder
03. marts 2004 - 12:34 #7
exp -> Det er jeg osse sikker på du godt ved ;o)
Avatar billede msoee Nybegynder
03. marts 2004 - 12:39 #8
jeg takker for hjælpen begge 2 - og vil nu gå igang med at arbe :D
Avatar billede detox Nybegynder
03. marts 2004 - 12:40 #9
Var så lidt :o)
Avatar billede detox Nybegynder
03. marts 2004 - 12:49 #10
Lige en anden ting. Den første række har index nr. 0, så helt korrekt skal det være sådan hhv.:

$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 0, 8");

$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 8, 8");

og

$forespoergsel = mysql_query("SELECT * FROM adm WHERE egenskab = 4 ORDER BY navn limit 8, 1");
Avatar billede exp Juniormester
03. marts 2004 - 13:59 #11
detox >>
Doh...

:-D

<undskyldning>
Øhh... "Sindssyg i gerningsøjeblikket" eller "Træt, fruen var på besøg i nat" - du vælger selv..
</undskyldning>
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