Permalänk
Medlem

Asp.net C# sql, Random visning

Hejsan

Har kört fast väldigt hårt, har en tabell (users_Image_Presentation) med värden som

Fk_UserName,
ImgName,
ImgPath,
ThumbPath
och ImgNr

och skulle vilja få fram 5 slump värde från databasen.. dvs jag har en sida där jag vill ha att längst ner ska 5 random users visas, med bild och namn, namn kommer även länka till profilen men den biten kan jag försöka själv. Skulle bara behöva nån knuff att komma igång med att få fram 5 random users.

Använder Asp.net, C# och MSSQL

Permalänk

Jag skulle göra så här:
(om användartabellen har en int som räknar upp som id, vilket nog brukar vara standard)
1.Kolla högsta användarid:t ( en "SELECT MAX(user_id) FROM users" eller liknande.
2. Slumpa ett tal mellan 1 och högsta id:t, kontrollera så att den användaren finns och kanske är lämplig att visa (kanske kolla så det finns en bild till användaren, kolla så användaren inte är avstängd eller borttagen eller redan med i listan över profiler som ska visas). Om användaren inte är nåt att visa, slumpa fram en ny. Spara godkända i en lista eller array av något slag.
3. Upprepa tills du har 5st i listan över profiler att visa.

Sen kan du gå vidare med att visa de 5 profilerna du har fått fram.

Visa signatur

Nikon D90, Nikon D7000, SB-600, 2xYN-460, Nikkor 18-105mm/3.5-5.6 VR, Nikkor 35mm/1.8, Nikkor 50mm/1.8D, Tamron 70-200/2.8, Tokina 11-16/2.8, Nikon 85/3.5 Macro
Flickr

Permalänk
Medlem

SELECT TOP 5 *
FROM users_Image_Presentation
ORDER BY NEWID()

ger dig precis vad du vill ha

Visa signatur

mm, just de!

Permalänk
Medlem

Tack för hjälpen

Om jag kör på ditt förslag b0ink så får man väll bara dom sista 5 registrerande användarna? och inte 5 helt random users.

Permalänk

Nae, den kör först hela satsen utan TOP, sen tar den dom fem översta från resultatet. Så det blir inte dom fem senaste.

Permalänk
Permalänk
Medlem

Ah usch, skulle prövat innan jag skrev... Suttit hela dagen med problemet och det b0ink skrev löste det... tack tack

Permalänk
Citat:

Ursprungligen inskrivet av b0ink
SELECT TOP 5 *
FROM users_Image_Presentation
ORDER BY NEWID()

ger dig precis vad du vill ha

Smidigt, det där kommer komma väl till pass framöver

Visa signatur

Nikon D90, Nikon D7000, SB-600, 2xYN-460, Nikkor 18-105mm/3.5-5.6 VR, Nikkor 35mm/1.8, Nikkor 50mm/1.8D, Tamron 70-200/2.8, Tokina 11-16/2.8, Nikon 85/3.5 Macro
Flickr