|
| En nummerrange fra database Fra : N. Christensen |
Dato : 09-01-05 08:19 |
|
Jeg kalder fra min database, de sidste 20 numre sådan her:
$qry = "SELECT * FROM img_head ORDER BY dato DESC LIMIT 20";
$res = mysql_query($qry);
$num = mysql_numrows($res);
Kan jeg i stedet fx kalde en nummerrange der hedder 60-70?! Altså
de 10 indlæg der har det nummer i min database?
Håber I forstår hvad jeg mener.
--
Fjern det el-drevne togsæt fra min e-mail, hvis du vil kontakte mig.
| |
Peter Brodersen (09-01-2005)
| Kommentar Fra : Peter Brodersen |
Dato : 09-01-05 09:17 |
|
On Sun, 9 Jan 2005 08:18:55 +0100, "N. Christensen" <ic3@er4ic3.dk>
wrote:
>Kan jeg i stedet fx kalde en nummerrange der hedder 60-70?! Altså
>de 10 indlæg der har det nummer i min database?
Det er et MySQL-relateret spørgsmål. Du kan se informationer om
mulighederne for LIMIT i din SELECT på fx:
http://dev.mysql.com/doc/mysql/en/SELECT.html
Find afsnittet "The LIMIT clause can be used to constrain the number
of rows .."
Her er der et eksempel på lige præcis det, du søger.
--
- Peter Brodersen
| |
N. Christensen (09-01-2005)
| Kommentar Fra : N. Christensen |
Dato : 09-01-05 10:12 |
|
>> Kan jeg i stedet fx kalde en nummerrange der hedder 60-70?! Altså
>> de 10 indlæg der har det nummer i min database?
> mulighederne for LIMIT i din SELECT på fx:
> http://dev.mysql.com/doc/mysql/en/SELECT.html
> Find afsnittet "The LIMIT clause can be used to constrain the number
Hmm! Ja, faktisk. Tak for det. Jeg søgte videre på siden, hvad så hvis
jeg vil kalde fx 53, 78, 18 og 24? Altså noget der ikke er i rækkefølge
i min table? Det synes jeg ikke jeg kan læse mig frem til.
--
Fjern det el-drevne togsæt fra min e-mail, hvis du vil kontakte mig.
| |
Peter Brodersen (09-01-2005)
| Kommentar Fra : Peter Brodersen |
Dato : 09-01-05 12:20 |
|
On Sun, 9 Jan 2005 10:12:03 +0100, "N. Christensen" <ic3@er4ic3.dk>
wrote:
>Hmm! Ja, faktisk. Tak for det. Jeg søgte videre på siden, hvad så hvis
>jeg vil kalde fx 53, 78, 18 og 24? Altså noget der ikke er i rækkefølge
>i min table? Det synes jeg ikke jeg kan læse mig frem til.
Du kan lave flere queries, evt. sammensat af UNION.
Det er dog sjældent, at der er behov for det. I det tilfælde, der er
behov for enkeltudpluk, foregår det normalt ved at man refererer til
en nøgle, i stedet for enkeltdele efter sortering. Enten via en
fremmednøgle eller ved explicit at angive nøglen. Fx:
SELECT * FROM img_head WHERE id IN (2,5,10)
Hvis man ønsker det, kan det dog laves med en kreativ subselect og en
variabel. Hvis resultatsættet ikke er så stort, kan man også overveje
blot at læse indholdet ind i et array i PHP, og så udvælge rækker
derfra.
--
- Peter Brodersen
| |
N. Christensen (09-01-2005)
| Kommentar Fra : N. Christensen |
Dato : 09-01-05 13:18 |
|
> SELECT * FROM img_head WHERE id IN (2,5,10)
Mange tak. Det var lige præcist det jeg skulle bruge.
--
Fjern det el-drevne togsæt fra min e-mail, hvis du vil kontakte mig.
| |
N. Christensen (19-01-2005)
| Kommentar Fra : N. Christensen |
Dato : 19-01-05 07:45 |
|
>> SELECT * FROM img_head WHERE id IN (2,5,10)
> Mange tak. Det var lige præcist det jeg skulle bruge.
Ja, så er jeg her igen. Med håb om at enten Peter eller en anden
måske kan hjælpe mig og mine PHP/SQL-problemer.
Nu har jeg denne linie i min php-fil, og den virker:
"SELECT * FROM img_head WHERE id IN (89,95,53,52)";
Jeg vil gerne have at der bliver sorteret via en kolonne som der
hedder "dato". Normalt plejer jeg at bruge:
"SELECT * FROM img_head ORDER BY dato DESC";
Men hvordan kan jeg kombinere de to overstående selects?
--
Fjern det el-drevne togsæt fra min e-mail, hvis du vil kontakte mig.
| |
Peter Brodersen (19-01-2005)
| Kommentar Fra : Peter Brodersen |
Dato : 19-01-05 13:41 |
|
On Wed, 19 Jan 2005 07:45:28 +0100, "N. Christensen" <ic3@er4ic3.dk>
wrote:
>"SELECT * FROM img_head WHERE id IN (89,95,53,52)";
>
>Jeg vil gerne have at der bliver sorteret via en kolonne som der
>hedder "dato". Normalt plejer jeg at bruge:
>
>"SELECT * FROM img_head ORDER BY dato DESC";
>
>Men hvordan kan jeg kombinere de to overstående selects?
SELECT * FROM img_head WHERE id IN (89,95,53,52) ORDER BY dato DESC
(spørgsmålet hører dog måske mere hjemme i dk.edb.database, hvor der
er flere SQL-kyndige folk :)
--
- Peter Brodersen
| |
|
|