/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
SELECT TOP 3 ?
Fra : Ronni - The Real one~


Dato : 09-08-01 15:24

Hej NG

Jeg skal have hentet de første 3 poster i min db, og har prøvet følgende :

<?php

dbconnection();

$res = dbquery("SELECT TOP 3 * FROM test");

$nums = mysql_num_rows($res);

echo "antal : " . $nums . "<br><br>";

while($row = mysql_fetch_array($res))
{
echo $row[hejsa] . "<br>";
}

?>

Men får følgende fejl

You have an error in your SQL syntax near '3 * FROM test' at line 1

Jeg kan ikke huske hvordan man gør :(
Hvis der nu kun er 2 poster i db'en og jeg spørger efter TOP 3 hvad så ?
Henter den så bare de to der er, eller laver den en fejl ?

mVh
Ronni
ronni1@ofir.dk




 
 
Kenneth Schmidt (09-08-2001)
Kommentar
Fra : Kenneth Schmidt


Dato : 09-08-01 15:41

Ronni - The Real one wrote:

> $res = dbquery("SELECT TOP 3 * FROM test");

Det skulle hedde 'SELECT * FROM test LIMIT 3'

LIMIT [[offset_record,] number_of_rows]]

Fx.:
LIMIT 3 er records 0, 1 og 2.
LIMIT 3,3 er records 3, 4 og 5.

Håber det hjælper.

--
Kenneth Vestergaard Schmidt


Ronni - The Real one~ (09-08-2001)
Kommentar
Fra : Ronni - The Real one~


Dato : 09-08-01 16:08

okey! TAK for hjælpen ! !

Det andet TOP virker så kun i ASP, hvilket er et LORTESPROG!!!! :)

mVh
Ronni
ronni1@ofir.dk




Johan Holst Nielsen (09-08-2001)
Kommentar
Fra : Johan Holst Nielsen


Dato : 09-08-01 16:06

> Det andet TOP virker så kun i ASP, hvilket er et LORTESPROG!!!! :)

Ik start slåskampe
Men rigtigt, ka heller ikke li, at Mircosoft har opfundet deres egne
"plugin" kommandoer til SQL...

mvh

Johan

Kenneth Schmidt (09-08-2001)
Kommentar
Fra : Kenneth Schmidt


Dato : 09-08-01 16:19

Johan Holst Nielsen wrote:

>> Det andet TOP virker så kun i ASP, hvilket er et LORTESPROG!!!! :)
>
> Ik start slåskampe
> Men rigtigt, ka heller ikke li, at Mircosoft har opfundet deres egne
> "plugin" kommandoer til SQL...

Nu er 'LIMIT' jo heller ikke ligefrem SQL99, såå...
I det mindste understøtter PostgreSQL også LIMIT, men jeg mener ikke at
hverken MSSQL eller Oracle gør. Ikke har jeg ville røre de to sidste hvis
jeg kan blive fri, men det er vist en religiøs diskussion

--
Kenneth Vestergaard Schmidt

"Nac mac Feegle wha hae!"


Robert Hjertmann Chr~ (09-08-2001)
Kommentar
Fra : Robert Hjertmann Chr~


Dato : 09-08-01 20:50

Kenneth Schmidt <nospam@binary.dyndns.dk> skrev i en
nyhedsmeddelelse:GRxc7.1867$MK.96020@news010.worldonline.dk...
> Johan Holst Nielsen wrote:
>
> >> Det andet TOP virker så kun i ASP, hvilket er et LORTESPROG!!!! :)
> >
ASP er da ikke en database????

[KLIP]
> Nu er 'LIMIT' jo heller ikke ligefrem SQL99, såå...
> I det mindste understøtter PostgreSQL også LIMIT, men jeg mener ikke at
> hverken MSSQL eller Oracle gør. Ikke har jeg ville røre de to sidste hvis
> jeg kan blive fri, men det er vist en religiøs diskussion

mySQL gør. Også LIMIT X,Y hvor X er antal og Y offset.


--
Robert Christiansen
Student at the Technical University of Denmark,
Department of Informatics and Mathematical Modelling,
Computer Engineering & Technology Division
(www.imm.dtu.dk/cet)




Lars Petersen (09-08-2001)
Kommentar
Fra : Lars Petersen


Dato : 09-08-01 21:50

> okey! TAK for hjælpen ! !
>
> Det andet TOP virker så kun i ASP, hvilket er et LORTESPROG!!!! :)

Nej, det virker også i PHP - Hvis du bruger SQL Server =P


--
-
Lars
http://coder.dk/sohofaq.php - Uofficiel WOL SOHO 77 FAQ
http://wshlman.moons.dk/ - Say goodbye to GameSpy - A Free Half Life
Manager!
When mailing me, remember there is no truth in my mail!



Dennis T. (10-08-2001)
Kommentar
Fra : Dennis T.


Dato : 10-08-01 21:20

Kenneth Schmidt wrote:
> Fx.:
> LIMIT 3 er records 0, 1 og 2.
> LIMIT 3,3 er records 3, 4 og 5.

Ikke fordi jeg bruger ASP/MSSQL, men hvordan laver man så den sidste i ASP,
hvis man kun kan bruge TOP?

/Dennis



Nezar Nielsen (13-08-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 13-08-01 12:17

"Dennis T." <viol8r@REMOVEtechnologist.com> skrev i en meddelelse
news:3b744205$0$309$edfadb0f@dspool01.news.tele.dk...
> Kenneth Schmidt wrote:
> > Fx.:
> > LIMIT 3 er records 0, 1 og 2.
> > LIMIT 3,3 er records 3, 4 og 5.
>
> Ikke fordi jeg bruger ASP/MSSQL, men hvordan laver man så den sidste i
ASP,
> hvis man kun kan bruge TOP?

Man brokker sig!

Så vidt jeg ved kan man ikke gøre det på andre måder, end at få de første
$offset + $længde (=6) og så bare hoppe forbi de første $offset
resultatrækker :(

--
Mvh. Nezar Nielsen
http://fez.dk/




Johan Holst Nielsen (09-08-2001)
Kommentar
Fra : Johan Holst Nielsen


Dato : 09-08-01 15:41

> <?php
>
> dbconnection();
>
> $res = dbquery("SELECT TOP 3 * FROM test");
>
> $nums = mysql_num_rows($res);
>
> echo "antal : " . $nums . "<br><br>";
>
> while($row = mysql_fetch_array($res))
> {
> echo $row[hejsa] . "<br>";
> }
>
> ?>

Hvis vi siger at du har en content fra tabellen hedder det således:

"SELECT content FROM test LIMIT 3";

således henter du max. 3 styk ud...

mvh

Johan

Nezar Nielsen (09-08-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 09-08-01 15:38

"Ronni - The Real one " <ronni1@ofir.dk> skrev i en meddelelse
news:3b729c32$0$251$edfadb0f@dspool01.news.tele.dk...
> Hej NG
>
> Jeg skal have hentet de første 3 poster i min db, og har prøvet følgende :
>
> $res = dbquery("SELECT TOP 3 * FROM test");

^^^^^^^ <-- hvad er det for en funktion?

> $nums = mysql_num_rows($res);

^^^^^ <-- får mig til at tro at du bruger mysql, og SELECT TOP X
YLIST syntaksen er Microsoft SQL Server specifik, og vil altså kun virke,
hvis du bruger det imod en MS SQL server..

Kig derimod på LIMIT() funktionen til mysql - fra :
http://www.mysql.com/doc/S/E/SELECT.html

The LIMIT clause can be used to constrain the number of rows returned by the
SELECT statement. LIMIT takes one or two numeric arguments. If two arguments
are given, the first specifies the offset of the first row to return, the
second specifies the maximum number of rows to return. The offset of the
initial row is 0 (not 1):
mysql> select * from table LIMIT 5,10; # Retrieve rows 6-15

If one argument is given, it indicates the maximum number of rows to return:
mysql> select * from table LIMIT 5; # Retrieve first 5 rows

In other words, LIMIT n is equivalent to LIMIT 0,n.


--
Mvh. Nezar Nielsen
http://fez.dk/




Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste