webForumDet fria alternativet

Nytt Script på wF Script!

95 svar · 768 visningar · startad av PatrikB · sida 3 av 5

CogoMedlem sedan juni 200151 inlägg
#41

Patrik B hur gör jag för att hämta ur en annan tabell i ditt paging script.
när man hämtade med typ 1,I 4,I osv
men om jag skriver dit en tabell till i select satsen så hämtar den ju från den som står först. Hur hämtar jag ur en ny tabell som jag lagt till?

------------------
sZ][Cogo
<-| STARZINGER |->

CogoMedlem sedan juni 200151 inlägg
#42

Dbl post

[Redigerat av Cogo den 14 jun 2001]

PatrikBMedlem sedan mars 20002 836 inlägg
#43

ordningen för fälten i sql-utrycket är det som styr ordningen på hur de hamnar i arrayen.

Så har du tex:

strSQL = "SELECT * FROM kontaktpersoner, kontor

så kommer det att beroende på hur många fält som finns i varje tabell arrayen att se ut så här:
arrArray(0,I)'## -- innehåller det först fältet i tabellen kontaktperson
arrArray(1,I)'## -- innehåller det andra fältet i tabellen kontaktperson
arrArray(n,I)'## -- innehåller det n fältet i tabellen kontaktperson(eller kontor)
etc.

Sedan att den byter tabell spelar ingen roll, det är ett recordset som du får tillbaka.
Alltså, det är bara att bygga på arrayen så "hamnar" du snart på posterna för kontor.

cya,
PatrikB

------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*

CogoMedlem sedan juni 200151 inlägg
#44

Ok nu fattar jag tackar så mycket för hjälpen Patrik

------------------
sZ][Cogo
<-| STARZINGER |->

CogoMedlem sedan juni 200151 inlägg
#45

Ok nu fattar jag tackar så mycket för hjälpen Patrik

------------------
sZ][Cogo
<-| STARZINGER |->

CogoMedlem sedan juni 200151 inlägg
#46

Hej har ett litet problem med att skicka med en variabel till en nästa sida i din pagingkod kan du se vad det är för fel ? Det är variabeln kontor.

	'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write "<tr><td align=left><a href='" & strScriptName & "?" & "kontor=" & Server.URLEncode(kont("kontor")) & "page=" & WichPage - 1 & "'>Nästa <img border=0 src= <A HREF="http://www.bengtdahlgren.se/bilder/pilar/left.gif></a></td>"" TARGET=_blank>http://www.bengtdahlgren.se/bilder/pilar/left.gif></a></td>"</A>

------------------
sZ][Cogo
<-| STARZINGER |->

[Redigerat av Cogo den 15 jun 2001]

PatrikBMedlem sedan mars 20002 836 inlägg
#47

Hello,

i querystringen så behöver du stoppa in ett "och" tecken framför page:

'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write "<tr><td align=left><a href='" & strScriptName & "?" & "kontor=" & Server.URLEncode(kont("kontor")) & "&page=" & WichPage - 1 & "'>Nästa <img border=0 src= <A HREF="http://www.bengtdahlgren.se/bilder/pilar/left.gif></a></td>"" TARGET=_blank>http://www.bengtdahlgren.se/bilder/pilar/left.gif></a></td>"</A>

cya,
PatrikB

------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*

MethodMedlem sedan apr. 2001357 inlägg
#48

Jag har tagit över efter Cogo....Han fixa med detta scriptet ett tag

Jag får följande felmedelande när jag la in koden du gav till Cogo

Microsoft VBScript runtime error '800a000d'
Type mismatch: 'kontor'

/paging/paging3.asp, line 256

hur kommer detta sig?

Jag hämtar frågesträngen längst upp på sidan.

kontor = Request.Querystring("kontor")

Då kan jag väl använda mig av variabeln i frågesträngen och använda mig av?

Hur skriver jag urlEncode strängen då??

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

[Redigerat av Method den 18 jun 2001]

MethodMedlem sedan apr. 2001357 inlägg
#49

Jag fick ordning på det....:)

------------------
--------------
STARZINGER
Tackar & Bockar forumet rockar!
Med ett hugg faller inget träd

MacceMedlem sedan apr. 2001425 inlägg
#50

Jag försöker använda ditt script men får
Felaktigt matrisindex: '15'
Såg dessa rader:
m_intTotalPages = Cint((HowManyRecords / PageSize) + 0.5)
'm_intTotalPages = CInt(((HowManyRecords / PageSize) + 1) - 1)
Den ena är ju utkommenterad....
hmm Är det bara jag som får problem
Jag läste här att man får samma problem när man bara har en post men det är ju löst.
Det skapas ingen ny 'Page' vid första extraposten utan efter några st. beroende på vad jag har för pagesize
Om jag har pagesize 10 och har tio poster skapas ändå en '2'länk vilket ger ett fel...
Förstår du mitt problem eller ska jag förklara mer vad jag menar ?
Mvh

[Redigerat av Macce den 14 jul 2001]

PatrikBMedlem sedan mars 20002 836 inlägg
#51

Hello,

har ingen lösning för tillfället.
Försöker att komma med en i nästa vecka när man e tillbaks på sin egen maskin igen.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

PatrikBMedlem sedan mars 20002 836 inlägg
#52

Fixade till en lösning.
Om det är någon som har en bättre lösning så posta den gärna här eller skicka ett mail till mig.

Ni som redan laddat ned paging scriptet BÖR uppdatera denna funktion:

'## -------------------------------------------------------------
'## -- räkna ut hur många sidor som ska visas --
'## -- updated: July 14, 2001
'## -- update by: Patrik Berggren, mrwize@mrwize.nu
'## -------------------------------------------------------------
'##
'## -- vid vissa tillfällen returnerades fel sidantal.
'##    Felet/Buggen berodde på avrundningen med CInt()
'##    och CLng().
'## -- Avrundningen som jag gjorde:
'##
'##    m_intTotalPages = CInt((HowManyRecords / PageSize) + 0.5)
'##
'##    vart i vissa fall fel och sid antalet vart fler än 
'##    vad det egentligen skulle vara.
'##    Lösningen, hoppas jag, är att kolla hur stor resten
'##    blir vid avrundning.
'##    Om resten är större än 0 eller mindre än 0.5 så ska en sida
'##    läggas till.
'##    I annat fall så gäller avrundningen.
'##    Har testat flera olika kombinationer med olika records antal
'##    och sidstorlekar och ej hittat några buggar.
'##    Så nu hoppas jag att denna paging är buggfri *ler*
'## -------------------------------------------------------------
Function countPages(ByVal HowManyRecords, ByVal PageSize)
	Dim m_intTotalPages, m_intRest

	m_intTotalPages = HowManyRecords / PageSize

	If m_intTotalPages < 1 Then
		m_intTotalPages = 1
	Else
		m_intRest = m_intTotalPages - CLng(m_intTotalPages)
		
		If m_intRest > 0 AND m_intRest < 0.5 Then
			m_intTotalPages = CLng(m_intTotalPages) + 1
		Else
			m_intTotalPages = CLng(m_intTotalPages)
		End If
	End If

	'## -- return how many pages --
	countPages = m_intTotalPages
End Function

Hoppas nu att scriptet blivit buggfritt.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

MacceMedlem sedan apr. 2001425 inlägg
#53

Man tackar :D

Nu fungerar det kanon !

Mvh

LukaspojkenMedlem sedan maj 20011 312 inlägg
#54

Hej PatrikB

När du gör db-kopplingen så lägger du allt i getrow...är det en bra lösning? Är det inte bättre att räkna upp antal poster jämföra dessa med antal poster per sida och sedan skapa antal sidor utifrån det. Eller det är kanske så det fungerar, men då borde det väl stå tex Select TOP 50...

En fundering bara

------------------
Alltid lär man sig något nytt varje dag...

PatrikBMedlem sedan mars 20002 836 inlägg
#55

Anledningen till att detta script kom till är att jag hjälpte en kompis som kör chilliASP och inte fick andra liknande pagingscript att funka.

Efter en hel del turer så testade man lite varianter och denna va den smidigaste som jag kunde komma på efter flera olika varianter.

Fast, kan du fixa en smigigare som även funkar i chilliASP så blir jag mer än nöjd *ler*

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

LukaspojkenMedlem sedan maj 20011 312 inlägg
#56

Om man skulle flytta upp variabeln intPageSize före SQL-satsen så att det blir så här:

'## -- hur många poster ska visas per sida --
intPageSize = 50

'## -- sql-fråga för att hämta alla poster --
'## -- denna ska du ändra så att den stämmer
'##    med det som du vill hämta --
	m_strSQL = "SELECT TOP " & intPageSize & "blabla"

Fungerar inte det på ChilliAsp?

------------------
Alltid lär man sig något nytt varje dag...

PatrikBMedlem sedan mars 20002 836 inlägg
#57

jo,
men hur hade du tänkt dig sen?

------------------
*Det tar sig sa han som hade eld i håret*

PatrikBMedlem sedan mars 20002 836 inlägg
#58

prova att utveckla detta lite mer ... fast du får EJ använda ADODB.Recordset för vissa av "providerserna" har inte fullt stöd för den.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

LukaspojkenMedlem sedan maj 20011 312 inlägg
#59

Ska göra det...hinner inte riktigt nu men kommer jag på något så kan jag skicka det till dig...

Men på något sätt bygger man upp en funktion som genererar följande värden
50 (som är page 1)
50-100 (som är page 2)
100-50 (som är page 3)
etc.

Det borde inte vara så svårt egentligen. Ska tänka lite hur man kan göra, återkommer.

------------------
Alltid lär man sig något nytt varje dag...

PatrikBMedlem sedan mars 20002 836 inlägg
#60

[r]
Det är ju det jag gjort, bygggt upp en funktion för att veta att page 3 börjar med id x
[/r]

alla idn står ju inte i följd, en del saknas tex efter att man deletat ngt etc.
Men med subqueries går det att lösa utan denna funktion, fast när jag testade det så gick det mega segt mot Access dbn, men hade man kört en ms-sql server så hade man kunna gjort det med sp och snabbat upp det lite granna, men i Access va det ingen bra lösning.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

[Redigerat av PatrikB den 17 jul 2001]

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)