Har ett fält med namnet Senastebesökare och inne i fältet står det Pelle,Gustav,Erik,Bannan undrar hur man gör för att få det se ut så här: Pelle,Erik,Bannan dvs ta bort en medlem i innehållet!
Senastebesökare
38 svar · 643 visningar · startad av antar
Gör såhär
arr = Split(Senastebesökare,",")
For i=0 To Ubound(arr)
If not arr(i) = "gustav" Then
newstr = newstr & arr(i) & ","
End If
Next
Bara ersätt dina variabler så skall det funka =)
jag har det där lagrad i databasen och jag vill ta bort användarnamn i själva fältet med formulär som jag typ skriver Gustav så ska Gustav gå bort!
arr = Split(Senastebesökare,",")
For i=0 To Ubound(arr)
If not arr(i) = Request.Form("Namn") Then
newstr = newstr & arr(i) & ","
End If
Next
Connect.Execute("UPDATE tabell SET Senastebesökare = '"& newstr &"'")
kan nån fixa till koden?
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../Database/Medlemmar.mdb")&""
set recset = server.createobject("Adodb.recordset")
sql = "select * from medlemmar"
recset.open sql,connect,3,3
arr = Split(recset("Senastebesokare"),",")
For i=0 To Ubound(arr)
If not arr(i) = Request.Form("Anvandarnamn") Then
newstr = newstr & arr(i) & ","
End If
Next
Connect.Execute("UPDATE Medlemmar SET Senastebesokare = '"& newstr &"'")
connect.close
set connect = nothing
antar skrev:
kan nån fixa till koden?
Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../Database/Medlemmar.mdb")&"" set recset = server.createobject("Adodb.recordset") sql = "select * from medlemmar" recset.open sql,connect,3,3 arr = Split(recset("Senastebesokare"),",") For i=0 To Ubound(arr) If not arr(i) = Request.Form("Anvandarnamn") Then newstr = newstr & arr(i) & "," End If Next Connect.Execute("UPDATE Medlemmar SET Senastebesokare = '"& newstr &"'") connect.close set connect = nothing
Gärna. Om du säger vad som är fel först.
Gustav går inte bort och bli dubbletter i Senastebesokare och plus att allas senastebesokare får samma värde dvs Gustav,Per,Ola i alla fälten!
Du får i din sqlfråga lägga till en "Where-sats" så att du bara plockar ut en viss persons besökare, eller loopa dig igenom hela databasen.
Kanske det iofs är bäst att baka ihop denna kod med den kod som lägger till den senaste besökare, på så sätt uppstår så att säga aldrig problemet.
jag vill att Gustav ska gå bort i alla post!!
solbulle skrev:
...eller loopa dig igenom hela databasen...
solbulle skrev:
...
Kanske det iofs är bäst att baka ihop denna kod med den kod som lägger till den senaste besökare, på så sätt uppstår så att säga aldrig problemet.
WHERE NOT namn = 'Gustav' ?
vad menar du med where not Namn = 'Gustav' jag vill ju ta bort alla Gustav i varjes Senastebesokare post!
eller jo nu funkar det tror jag men alla poster i Senaste besokar fältet blir samma!
Det du har gjort är att du har målat in dig i ett hörn, det är det klassiska 'databas i databasen'-problemet du har utsatt dig för.
Att skapa en sträng som innehåller ett antal användarnamn och separera dem med t.ex. kommatecken för att sedan gå in och ändra i den strängen, ger givetvis upphov till problem.
Lägg det där i databasen istället, i en relationstabell, då slipper du alla problem. Då behöver du inte ens ha användarnas namn i denna tabell, det räcker med deras UserId:s.
:)
Det lättaste sättet är som OveRRide säger.
Istället för att gå en så lång väg som möjligt, försök att lägga in din funktion i en redan befintlig, i det här fallet, tabell.
Ett sätt att göra det på är att lägga till en kolumn i din inloggningstabell som heter senast inloggade av typen date och uppdatera den sedan med tidpunkten för varje användare och inloggning.
Skriv sedan en SQL-sats där du tar bort eventuella personer om du så önskar. T.ex. sig själv.
// 5 senaste inloggade
SELECT TOP 5 * FROM medlemmar ORDER BY inloggningsdatum DESC
// 5 senaste inloggade utom dig själv som användare
SELECT TOP 5 * FROM medlemmar WHERE NOT userID = "&ditt_userID&" ORDER BY inloggningsdatum DESC
// Eller om vi fortfarande ska mobba Gurra.
SELECT TOP 5 * FROM medlemmar WHERE NOT username = 'Gustav' ORDER BY inloggningsdatum DESC
varför göra det svårare?
jboy_87 skrev:
varför göra det svårare?
Vad menar du?
Tydligen verkar antar:s lösning svårare än den föredragna som presenteras ovan, eftersom han frågor om den i forumet. ;)
jag vill ju använda den dära koden orkar inte hålla på och ändra med databasen!!
Lugn, det är bara förslag.
Men målar man vidare när man står i hörnet, har man snart tyvärr ingenstans att ha fötterna på, om du förstår vad jag menar. :)