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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Liste over sidste nyt
Fra : Ukendt


Dato : 19-10-05 20:10

Er der en mulighed for at få de 5 nyeste nyheder vist på sin hjemmeside.

Alle mine nyheder er gemt i en database, som bliver hentet til siderne. Men
på forsiden vil jeg gerne have dato, link, overskrift og en "appetitvækker"
for de 5sidste nye nyheder. Hvordan kan det laves?



 
 
Jens Peter Rosenkvis~ (19-10-2005)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 19-10-05 21:26

Niller wrote:
> Er der en mulighed for at få de 5 nyeste nyheder vist på sin hjemmeside.

Ja.

> Alle mine nyheder er gemt i en database, som bliver hentet til siderne. Men
> på forsiden vil jeg gerne have dato, link, overskrift og en "appetitvækker"
> for de 5sidste nye nyheder. Hvordan kan det laves?

Du skal stort set bare gøre som når du henter en ud. Du skal bare sætte
antallet til 5 i stedet for en og så skal du kun hente starten af selve
teksten ud.

Hvis du poster din SQL kode er det formentlig kun småting der skal
rettes til før det virker.

--
Why do fireflies die so soon?
http://www.jensercube.dk/sig.asp

Ukendt (19-10-2005)
Kommentar
Fra : Ukendt


Dato : 19-10-05 22:11

"Jens Peter Rosenkvist" <jensercube@ofir.dk> skrev i en meddelelse
news:4356ab6d$0$41147$14726298@news.sunsite.dk...
> Niller wrote:
>> Er der en mulighed for at få de 5 nyeste nyheder vist på sin hjemmeside.
>
> Ja.
>
>> Alle mine nyheder er gemt i en database, som bliver hentet til siderne.
>> Men på forsiden vil jeg gerne have dato, link, overskrift og en
>> "appetitvækker" for de 5sidste nye nyheder. Hvordan kan det laves?
>
> Du skal stort set bare gøre som når du henter en ud. Du skal bare sætte
> antallet til 5 i stedet for en og så skal du kun hente starten af selve
> teksten ud.

Men jeg henter aldrig en ud.

Jeg har udelukkende prøvet at hente en fuldstændig liste ud



Jens Peter Rosenkvis~ (19-10-2005)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 19-10-05 22:25

Niller wrote:
> Jeg har udelukkende prøvet at hente en fuldstændig liste ud

Ok. Du skal i slutningen af din SQL-streng skrive: limit x, y hvor x er
den første række du vil hive ud og y er antallet.
Så når du vil have de fem nyeste, skal du skrive limit 0, 5. Det
fungerer i hvert fald i nogen databaser. I andre skal man vist skrive
Top(y).

Men begge dele forudsætter, at du hiver dem ud ordnet efter dato-feltet.

--
Why do fireflies die so soon?
http://www.jensercube.dk/sig.asp

Jørn Andersen (19-10-2005)
Kommentar
Fra : Jørn Andersen


Dato : 19-10-05 23:12

On Wed, 19 Oct 2005 23:25:14 +0200, Jens Peter Rosenkvist
<jensercube@ofir.dk> wrote:

>Niller wrote:
>> Jeg har udelukkende prøvet at hente en fuldstændig liste ud
>
>Ok. Du skal i slutningen af din SQL-streng skrive: limit x, y hvor x er
>den første række du vil hive ud og y er antallet.
>Så når du vil have de fem nyeste, skal du skrive limit 0, 5. Det
>fungerer i hvert fald i nogen databaser. I andre skal man vist skrive
>Top(y).

I MS Access hedder det:
SELECT TOP 5 felt1, felt2 FROM ... WHERE ... ORDER BY whatever
eller:
SELECT TOP 15 PERCENT felt1 ... FROM ... WHERE ... ORDER BY whatever

Så det kan være ret forskelligt fra db til db.

>Men begge dele forudsætter, at du hiver dem ud ordnet efter dato-feltet.

Det er til gengæld en fælles forudsætning

Mvh. Jørn

--
Jørn Andersen,
Brønshøj

Dj Uncas (20-10-2005)
Kommentar
Fra : Dj Uncas


Dato : 20-10-05 10:55

Jørn Andersen wrote:
> On Wed, 19 Oct 2005 23:25:14 +0200, Jens Peter Rosenkvist
> <jensercube@ofir.dk> wrote:
>
>
>>Niller wrote:
>>
>>>Jeg har udelukkende prøvet at hente en fuldstændig liste ud
>>
>>Ok. Du skal i slutningen af din SQL-streng skrive: limit x, y hvor x er
>>den første række du vil hive ud og y er antallet.
>>Så når du vil have de fem nyeste, skal du skrive limit 0, 5. Det
>>fungerer i hvert fald i nogen databaser. I andre skal man vist skrive
>>Top(y).

Ovenstående er en MySql funktion, og virker kun med denne.

> I MS Access hedder det:
> SELECT TOP 5 felt1, felt2 FROM ... WHERE ... ORDER BY whatever
> eller:
> SELECT TOP 15 PERCENT felt1 ... FROM ... WHERE ... ORDER BY whatever
>
> Så det kan være ret forskelligt fra db til db.
>
>
>>Men begge dele forudsætter, at du hiver dem ud ordnet efter dato-feltet.
>
>
> Det er til gengæld en fælles forudsætning
>
> Mvh. Jørn

Hvis du vil gøre det perfekt kan du også hente eks. de første 100 tegn
af artiklen ud, og vise dem:

SELECT TOP 3 title,LEFT(article, 100) AS shortArticle FROM news ORDER BY
newsDate

... og udskrive det med

response.write("<h1>" & rs("title") & "</h1>")
response.write(rs("shortArticle"))

Ukendt (20-10-2005)
Kommentar
Fra : Ukendt


Dato : 20-10-05 21:16

"Dj Uncas" <mads@blizan.com> skrev i en meddelelse
news:43576971$0$1836$edfadb0f@dread11.news.tele.dk...
> Jørn Andersen wrote:
>> On Wed, 19 Oct 2005 23:25:14 +0200, Jens Peter Rosenkvist
>> <jensercube@ofir.dk> wrote:
>>
>>
>>>Niller wrote:
>>>
>>>>Jeg har udelukkende prøvet at hente en fuldstændig liste ud
>>>
>>>Ok. Du skal i slutningen af din SQL-streng skrive: limit x, y hvor x er
>>>den første række du vil hive ud og y er antallet.
>>>Så når du vil have de fem nyeste, skal du skrive limit 0, 5. Det fungerer
>>>i hvert fald i nogen databaser. I andre skal man vist skrive Top(y).
>
> Ovenstående er en MySql funktion, og virker kun med denne.
>
>> I MS Access hedder det:
>> SELECT TOP 5 felt1, felt2 FROM ... WHERE ... ORDER BY whatever
>> eller:
>> SELECT TOP 15 PERCENT felt1 ... FROM ... WHERE ... ORDER BY whatever
>>
>> Så det kan være ret forskelligt fra db til db.
>>
>>
>>>Men begge dele forudsætter, at du hiver dem ud ordnet efter dato-feltet.
>>
>>
>> Det er til gengæld en fælles forudsætning
>>
>> Mvh. Jørn
>
> Hvis du vil gøre det perfekt kan du også hente eks. de første 100 tegn af
> artiklen ud, og vise dem:
>
> SELECT TOP 3 title,LEFT(article, 100) AS shortArticle FROM news ORDER BY
> newsDate
>
> .. og udskrive det med
>
> response.write("<h1>" & rs("title") & "</h1>")
> response.write(rs("shortArticle"))

Hej.

Jeg har stadig lidt problemer.

Jeg har en Access database jeg har kaldt indhold. Heri består indholdet af
felterne: Overskrift, Underoverskrift, Indhold, Navn, Dato m.v.

Jeg har en side, hvor jeg flere steder gerne vil have vist de sidste nye
artikler.

Fx i nedenstående tabel.

<table>
<tr>
<td colspan="2"><a href="Nyheder.asp">Nyheder</a></td>
</tr>
<tr>
<td><img src="/prik.gif" style="width:5px;height:6px;"></td>
<td><a href="Henvisning 1">Nyhed 1</a></td>
</tr>
<tr>
<td><img src="/prik.gif" style="width:5px;height:6px;"></td>
<td><a href="Henvisning 2">Nyhed 2</a></td>
</tr>
<tr>
<td><img src="/prik.gif" style="width:5px;height:6px;"></td>
<td><a href="Henvisning 3">Nyhed 3</a></td>
</tr>
</table>

Hvorledes kan jeg få lavet det af jer foreslåede?

Som supplement vil jeg også gerne høre, om det kan lade sig gøre, at det i
stedet for de 3 nyeste nyheder er den 4. 5. og 6. nyeste, der skal vises i
denne liste.



Jens Peter Rosenkvis~ (21-10-2005)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 21-10-05 01:48

Niller wrote:

> Jeg har en Access database jeg har kaldt indhold. Heri består indholdet af
> felterne: Overskrift, Underoverskrift, Indhold, Navn, Dato m.v.
>
> Jeg har en side, hvor jeg flere steder gerne vil have vist de sidste nye
> artikler.

På denne side: http://www.html.dk/tutorials/asp/lektion19.asp bliver det
du efterspørger gennemgået.

--
Why do fireflies die so soon?
http://www.jensercube.dk/sig.asp

Ukendt (21-10-2005)
Kommentar
Fra : Ukendt


Dato : 21-10-05 10:58

"Jens Peter Rosenkvist" <jensercube@ofir.dk> skrev i en meddelelse
news:43583a76$0$41138$14726298@news.sunsite.dk...
> Niller wrote:
>
>> Jeg har en Access database jeg har kaldt indhold. Heri består indholdet
>> af felterne: Overskrift, Underoverskrift, Indhold, Navn, Dato m.v.
>>
>> Jeg har en side, hvor jeg flere steder gerne vil have vist de sidste nye
>> artikler.
>
> På denne side: http://www.html.dk/tutorials/asp/lektion19.asp bliver det
> du efterspørger gennemgået.

Er nu gennemlæst.

Men hvordan sætter jeg kriterier for udelukkende at få vist den 3. 4. og 5.
nyeste nyhed



Jørn Andersen (21-10-2005)
Kommentar
Fra : Jørn Andersen


Dato : 21-10-05 11:54

On Fri, 21 Oct 2005 11:57:35 +0200, "Niller" <.> wrote:

>>> Jeg har en Access database
jeg har kaldt indhold. Heri består indholdet
>>> af felterne: Overskrift, Underoverskrift, Indhold, Navn, Dato m.v.
>>>

>Men hvordan sætter jeg kriterier for udelukkende at få vist den 3. 4. og 5.
>nyeste nyhed

Det gør du ikke
Men der er selvfølgelig omveje - en af dem kunne være:
Hent de første 5 (som tidligere beskrevet) og lad være med at skrive
de første 2 ud - fx således:

[Hvis vi forudsætter, at dit recordset hedder objRs]

' ---------
Dim intAntalPoster
intAntalPoster = 0

Do While Not objRs.Eof
intAntalPoster = intAntalPoster + 1
If intAntalPoster < 3 Then
   ' Gør ingenting
Else
Response.Write [hvad der nu skal skrives ud]
End If
objRs.MoveNext
Loop
' ---------

intAntalPoster fungerer som en tæller, der i andre sammenhænge fx
kunne bruges til at udskrive, hvor mange poster der blev fundet.
If-sætningen gør, at det eneste der sker i de første gennemløb er, at
der tælles 1 post frem i recordsettet.

En anden (simplere?) mulighed er at hoppe 2 pladser frem i
recordsettet, inden loopen starter:

' ---------
objRs.Move 2

Do While Not objRs.Eof
Response.Write [hvad der nu skal skrives ud]
objRs.MoveNext
Loop
' ---------

Note: Jeg har aldrig selv brugt .Move, så jeg er faktisk ikke klar
over, hvad der sker, hvis der fx kun er 1 post i recordsettet? Vil der
komme en fejl, eller lander den bare på .Eof?
Men hvis der altid er mere end 2 nyheder i databsen, så er der ingen
problemer, ellers skal man lige tage forbehold for .Eof:

If Not objRs.Eof Then
Do While Not objRs.Eof
' blabla
Loop
Else
Response.Write "Hov, den var tom."
End If

..Eof betyder EndOfFile - altså at cursoren er nået til slutningen af
recoirdsettet. Hvis den *starter med* at stå i slutningen af
recordsetet, betyder det altså at recordsettet er tomt.

Good luck,
Jørn

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste