Forum > Geluid

cdj-100s <-> cmx-3000

(64 reacties. Pagina 5 van 7)
Moderator(s): Dré
DréAdministrator
Uit: Nederland
Sinds: 17-11-2001
Laatste: 18-9-2024
Berichten: 13471
27-3-2003 10:33
Master is ook lekker aan het OEM'en.

Master MX4 -> JB-Systems MX 4
Master BMX4 -> JB-Systems Beat 4
-- Pardon my French, I'm Dutch --
ReemskiVIP Lid
Uit: Nederland
Sinds: 22-10-2002
Laatste: 18-9-2024
Berichten: 1370
27-3-2003 10:35
IS de makkelijkste manier om geld te verdienen, heb ik het idee...

Even een zijweggetje: Waarom is het trouwens zo dat de nieuwe posts binnen dit topic zo midden tussen alle andere posts geplaatst worden???
DréAdministrator
Uit: Nederland
Sinds: 17-11-2001
Laatste: 18-9-2024
Berichten: 13471
27-3-2003 10:39

Reemski schreef:

Even een zijweggetje: Waarom is het trouwens zo dat de nieuwe posts binnen dit topic zo midden tussen alle andere posts geplaatst worden???
Is niet zo (kijk maar naar de datum, daar wordt op gesorteerd binnen 1 topic).
-- Pardon my French, I'm Dutch --
ReemskiVIP Lid
Uit: Nederland
Sinds: 22-10-2002
Laatste: 18-9-2024
Berichten: 1370
27-3-2003 10:44
Daar kijk ik dus naar Dré......

www.rainbowparty.nl/plaatjes/huh.gif
DréAdministrator
Uit: Nederland
Sinds: 17-11-2001
Laatste: 18-9-2024
Berichten: 13471
27-3-2003 10:53
2 x bewerkt. Laatst door Dré op 27-3-2003 11:01

Reemski schreef:

Daar kijk ik dus naar Dré......

www.rainbowparty.nl/plaatjes/huh.gif
Ik ben met stomheid geslagen! De sorteervolgorde wordt door de SQL server bepaald (en zou dus bij iedere browser hetzelfde resultaat moeten geven).

Hier is de code:
CREATE PROCEDURE SP_F_ListPosts
@UserId AS Int,
@TopicID as Int,
@Page int
AS
SET NOCOUNT ON
DECLARE
@RecCount int,
@RecsPerPage int,
@Level int,
@TotalRecords int

If @userID>0
Begin
DELETE From F_LastVisitList WHERE UserID=@UserID AND TopicID=@TopicID
Update F_Users Set LastVisit=GetDate() Where UserId=@UserID
End

SELECT @RecsPerPage=F_Users.PostsPerPage, @Level=F_Status.StatusLevel
FROM F_Status INNER JOIN F_Users ON F_Status.StatusID = F_Users.Status
WHERE F_Users.UserID=@UserID
SELECT @RecCount = @RecsPerPage * @Page + 1
CREATE TABLE #TempItems
(
ID int IDENTITY Primary Key,
PostID int
)
INSERT INTO #TempItems (PostId)
SELECT PostID
FROM F_Posts INNER JOIN F_Topics ON F_Posts.TopicId = F_Topics.TopicID
INNER JOIN F_Forums ON F_Topics.ForumID = F_Forums.ForumID
WHERE F_Posts.TopicId = @TopicID AND F_Forums.Level <= @Level
ORDER BY PostID ASC
Select @TotalRecords=@@RowCount
If @Page=0 Select @Page=round(@TotalRecords/@RecsPerPage-1,0,1)+1
Select TotalRecords=@TotalRecords,
TotalPages=CAST(((@TotalRecords)+@RecsPerPage-1)/@RecsPerPage AS Int),
PostsPerPage=@RecsPerPage, Curpage=@Page;
DECLARE @FirstRec int, @LastRec int
SELECT @FirstRec = (@Page - 1) * @RecsPerPage
SELECT @LastRec = (@Page * @RecsPerPage + 1)
SELECT F_Users.UserID, F_Users.UserName, F_Users.EntryDate,
F_Users.MailVisible,
F_Users.Email, F_Users.Homepage, F_Users.PostCount,
F_Users.Quote, F_Status.StatusName, F_Status.StatusLevel,
F_Posts.Icon, F_Posts.Date, F_Posts.PostID,
F_posts.EditCount, F_posts.Message, F_Posts.EditDate,
F_posts.RootMSG, F_Users_1.UserName AS EditName,
F_Posts.PostIP, F_Users.Email
FROM ([#TempItems] INNER JOIN (F_Posts INNER JOIN
(F_Users INNER JOIN F_Status ON
F_Users.Status = F_Status.StatusID) ON
F_Posts.UserID = F_Users.UserID)
ON [#TempItems].PostID = F_Posts.PostID)
LEFT JOIN F_Users AS F_Users_1
ON F_Posts.EditUserID = F_Users_1.UserID
WHERE ID > @FirstRec AND ID < @LastRec
Drop Table #TempItems
Return
GO
Zie je gelijk mijn cursorloze paginering truc ;-)

Ik heb dus geen idee waarom het bij jou verkeerd weergegeven wordt (zou helemaal NIET mogelijk moeten zijn). Probeer voor de zekerheid eens uit te loggen en weer in te loggen (in het verleden hebben we wel eens wazige problemen gehad die veroorzaakt werden door een foutieve cookie).
-- Pardon my French, I'm Dutch --
ReemskiVIP Lid
Uit: Nederland
Sinds: 22-10-2002
Laatste: 18-9-2024
Berichten: 1370
27-3-2003 10:58
Hmm.. Er staat

ORDER BY postid..

Dus hij organiseert niet op datum maar postid.. Wat geen probleem zou moeten zijn. OF zijn er een aantal posts verwijderd waardoor hij zeg maar deze postid's weer opvult met nieuwe berichten??? Of zie ik dit verkeerd.

Ben nog aan het leren hoe SQL en databases werken.

Het vreemde is dat alleen dit topic dit doet.... De andere niet. Zou ik dit topic vervuilt hebben met mijn slechte aura....?? :-)

PS: cursorloze pagineringstruuk?? Wat bedoel je hiermee.. Weer zoiets wat nooit opvalt, totdat het wel aanwezig is en het je stoort..
DréAdministrator
Uit: Nederland
Sinds: 17-11-2001
Laatste: 18-9-2024
Berichten: 13471
27-3-2003 11:05

Reemski schreef:

Hmm.. Er staat

ORDER BY postid..

Dus hij organiseert niet op datum maar postid.. Wat geen probleem zou moeten zijn. OF zijn er een aantal posts verwijderd waardoor hij zeg maar deze postid's weer opvult met nieuwe berichten??? Of zie ik dit verkeerd.
De PostId is van het type "identity". Een verwijderde identity wordt NIET meer opgevuld. Als dat het probleem ZOU zijn dan zou het bij iedereen verkeerd weergegeven moeten worden (en bij mijn weten ben je de eerste die problemen heeft op dit punt). Bij mij klopt de volgorde precies. De reden dat (tegenwoordig) gekozen is voor PostId in plaats van "postdate" is omdat een identity automatisch geindexeerd is (en een index op een datumveld een erg dure (en dus trage) index is).
Ben nog aan het leren hoe SQL en databases werken.
Wees gerust, het leren houdt nooit op ;-)

Momenteel ben ik aan het kijken of ik niet een select in een select kan plaatsen, gekoppeld aan een select zodat er geen temptable gebruikt hoeft te worden. Een andere optie is een functie schrijven (omdat functies tegenwoordig een nieuw datatype hebben: datatype table (dus een tabel in het geheugen in plaats van een tabel op scrap disks)).
Het vreemde is dat alleen dit topic dit doet.... De andere niet. Zou ik dit topic vervuilt hebben met mijn slechte aura....?? :-)
Ik heb werkelijk geen idee. Je browser zou helemaal GEEN invloed moeten hebben op de volgorde (hij kan daar immers niets aan veranderen). Wat er dan wel aan de hand is???
-- Pardon my French, I'm Dutch --
Didier_SStandaard Lid
Uit: België
Sinds: 4-1-2003
Laatste: 13-11-2011
Berichten: 747
27-3-2003 11:49

Dré schreef:

Ik heb werkelijk geen idee. Je browser zou helemaal GEEN invloed moeten hebben op de volgorde (hij kan daar immers niets aan veranderen). Wat er dan wel aan de hand is???
Ik weet niet of dit een hulp kan zijn:
Konqueror 3.1.0 en Mozilla 1.0.1 geven de volgorde óók verkeerd weer terwijl Opera 6.03 alles correct weergeeft shocked 8O
Alles onder Linux dan wel
Als je er niks mee bent, verwijder deze post dan maar hoor happy :)

EDIT:
hélp: nu doet Opera plots ook raar angry
Housemusic was founded on the idea that the clubbers are the stars, not the guy who fiddles with the records.
DréAdministrator
Uit: Nederland
Sinds: 17-11-2001
Laatste: 18-9-2024
Berichten: 13471
27-3-2003 12:11

DSalembier schreef:

Dré schreef:

Ik heb werkelijk geen idee. Je browser zou helemaal GEEN invloed moeten hebben op de volgorde (hij kan daar immers niets aan veranderen). Wat er dan wel aan de hand is???
Ik weet niet of dit een hulp kan zijn:
Konqueror 3.1.0 en Mozilla 1.0.1 geven de volgorde óók verkeerd weer terwijl Opera 6.03 alles correct weergeeft shocked 8O
Alles onder Linux dan wel
Als je er niks mee bent, verwijder deze post dan maar hoor happy :)

EDIT:
hélp: nu doet Opera plots ook raar angry
De fout KAN niet in de software zitten (de sorteervolgorde is "hard coded" en dus NIET te beinvloeden door het type browser dat gebruikt wordt). Het enige dat ik kan bedenken is dat er een dirty cache flag niet goed gebruikt wordt. De pagina is nu zo aangepast dat hij NIET gecached wordt (tenzij er een browser is die ook die regel aan z'n laars lapt). Hierdoor zal de server load wel iets hoger worden (immers meer "hits" op de server) MAAR als de fout inderdaad een cache fout is dan zou de fout nu verdwenen moeten zijn.

Is ie ook verdwenen?
-- Pardon my French, I'm Dutch --
DréAdministrator
Uit: Nederland
Sinds: 17-11-2001
Laatste: 18-9-2024
Berichten: 13471
27-3-2003 12:21
De fout zat dus wel degelijk in de code. Schijnbaar wordt de populatie van een tabel niet consequent gedaan (waarschijnlijk in fragmenten) waardoor dus een verkeerde sorteervolgorde het resultaat kan zijn. De uiteindelijke uitvoer wordt nu ook nog eens gesorteerd (op het veld #TempItems.[Id]).

Als het probleem nu nog niet verholpen is dan vreet ik m'n shoen op (hij is al aardig mals namelijk ;-)
-- Pardon my French, I'm Dutch --

Terug naar forum Reageer (zonder quote)