04. maj 2004 - 01:04Der er
12 kommentarer og 2 løsninger
Tæl antallet og skriv det til en TXT fil
Jeg har et spm.
hvis jeg har denne database. test.mdb test ID auto/key LINKNAVN text VISIT tal
hvordan kan jeg tælle antallet af visit ialt for alle recorder. og så tage dette tal og skrive det ind i en txt fil. Dog skal den se om det står et tal i forvejen hvis ikke så skal den indsætte tallet den når frem til og ellers skal den tage det tal som står i txt filen og lægge det tal til som den før og overskrive det gamle tal.
min txt fil hedder visit.txt og linje 1 er VISIT og linje 2 er så der hvor der står 0 hvis der intet er eller evt 23 hvis der iforvejen er lagt et tal ind i den.
håber i forstår mig.
men kan det lade sig gøre og vil nogle hjælpe mig med noget der kan tælle det den skal i min database og så tage dette tal og skrive det til txt filen. ved at lægge det til det tal der i forvejen står i txt filen linje 2.
grunden til det er linje 2 er forde jeg skal have et andet tal til at stå i linje 4 som intet har med linje 2 at gøre.
Som jeg ser det, så virker det som en lidt tung måde at gøre det på, hver gang der er en der besøger en af dine sider skal visit.txt rettes. Hvor laver du ikke bare et udtræk af det samlede antal besøg der hvor du gerne vil have det vist når du nu har en kolonne i databasen hvor du tæller antal hits ?
jeg vil også have at det er en database der styrer det men min database kan evt blive for stor og derfor vil jeg kunne hver 2-3 mdr lave en optælling og skrive det til en txt fil som jeg har skrevet og så rende det script du have lavet til mig så jeg nulstiller databasen. og starter forfra
Hmm, prøv nedenstående hvor din fil visit.txt ligger i mappen "database". På den måde får du ihvertfald lavet en textfil som indeholder antal besøg, men hvordan du får flere linier sat ind kan jeg ikke lige se, men ellers lav en textfil til hvert formål, så er det nemmere at overskue.
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database/test.mdb") Set con = server.createobject("adodb.connection") con.open strCon
SQL = "SELECT sum(visit) as antalialt FROM test" set rs = con.execute(SQL) antal = rs("antalialt") rs.close set rs = nothing con.close set con = nothing
grunden til det er fordi jeg vil lave noget statistik for min side hvor man kan se antal besøgende for hver dag/uge/mdr. dog kun 3 mdr tilbage.
og så kan man selvf. se de totale antal besøgende ialt.
jeg skal derfor bruge database for at kunne se den avanceret statistik men så for at denne ikek bliver for stor vil jeg så slette den og nulstille den hver 3. mdr. men tage det tal den er nået til og skrive dette til en txt fil.
Okay, prøv så den her istedet for. Lige for at fortælle dig hvad den gør, så gør den følgende
Den indlæser filen visit.txt Læser tallet på 2. linie og lægger antal til Overskriver den eksisterende visit.txt med følgende data: Linie 1: VISIT Linie 2: det nye tal
- og så tror jeg ikke du kan pille mere ud af mig i det her spørgsmål.
Set fs=Server.CreateObject("Scripting.FileSystemObject") Set f=fs.OpenTextFile(CountPath, 1) f.SkipLine usercount = cint(f.Readline) f.Close Set f=Nothing Set fs=Nothing Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.GetFile(CountPath) Set objFileTextStream = objFile.OpenAsTextStream(1,-2) usercount = usercount + cint(antal) Set objFileTextStream = objFile.OpenAsTextStream(2,-2) objFileTextStream.WriteLine "VISIT" objFileTextStream.WriteLine usercount objFileTextStream.close
/Goose
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.