webForumDet fria alternativet

Visa olästa gb-inlägg

Databaser & SQL

9 svar · 325 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

När jag hade access så använde jag trur och false för att markera inlägg, nu med MySQL så har jag 1 och 0, även om jag försöker sätta en etta här så får jag bara en nollai databasen och jag gissar på att det är detta som gör att det inte visas info om hur många olästa inlägg man har

addPost = addPost & "(fromUser,toUser,gbMessage,gbDate,gbTime,gbIP,Avatar,gbRead, pprivate) "
	addPost = addPost & "VALUES('"& varFromUser &"','"& varToUser &"','"& varMessage &"','"& varGBDate &"','"& varGBTime &"','"& varIP &"','"& varAvatar &"',1, 1)"

Här är koden som kollar olästa pm och gb-inlägg

Set rs=objConn.Execute("SELECT mailRead FROM tblUsers_imail where reciever='"&UserID&"'")
Set rs1=objConn.Execute("SELECT gbRead FROM tblUsers_guestbook where toUser='"&UserID&"'")
Set newMail=objConn.Execute("SELECT COUNT(*) AS mAntal FROM tblUsers_imail  where reciever="& UserID &" AND mailread=1")
Set newGB=objConn.Execute("SELECT COUNT(*) AS gbAntal FROM tblUsers_guestbook where toUser="& UserID &" AND gbRead=1")
Medlem sedan dec. 19996 721 inlägg
#2

Är UserID ett tal eller en sträng? Du använder båda varianterna.

Medlem sedan feb. 20032 027 inlägg
#3

emission skrev:

Är UserID ett tal eller en sträng? Du använder båda varianterna.

Det är tal och jag har tagit bort ' ' men jag får fortfarande ingen etta i databasen när jag sparar (addPost)

Medlem sedan dec. 19996 721 inlägg
#4

Visa gärna mer kod.

Vad är det för datatyp på "problemkolumnerna"?

Passa på att repetera @nders regel 1 till 13.

/e

Medlem sedan feb. 20032 027 inlägg
#5

emission skrev:

Visa gärna mer kod.

Vad är det för datatyp på "problemkolumnerna"?

Passa på att repetera @nders regel 1 till 13.

/e

Här kommer en etta in i databasen men det är fortfarande noll i db
INSERT INTO tblUsers_guestbook(fromUser,toUser,gbMessage,gbDate,gbTime,gbIP,Avatar,gbRead, pprivate) VALUES(1,1,'funkar?','2005-11-06','18:55:38','213.65.34.205','',1, 0)

Den enda ettan jag får in är när inlägget markeras som privat

if request.form("chkPrivat") = "J" then
SET objConn = connect()
	addPost = "INSERT INTO tblUsers_guestbook"
	addPost = addPost & "(fromUser,toUser,gbMessage,gbDate,gbTime,gbIP,Avatar,gbRead, pprivate) "
	addPost = addPost & "VALUES("& varFromUser &","& varToUser &",'"& varMessage &"','"& varGBDate &"','"& varGBTime &"','"& varIP &"','"& varAvatar &"',1, 1)"
	objConn.Execute(addPost)
	response.write addPost
    'response.end
objConn.Execute("Update tblUsers SET poang = poang+0.5 WHERE userID= " & UserID &"")
	
response.redirect "/guestbook/GB.asp?toUser="&varToUser&"&name="&varFran&"&fromUser="&varFromUser&"&id="&varGBID&""
else
SET objConn = connect()
	addPost = "INSERT INTO tblUsers_guestbook"
	addPost = addPost & "(fromUser,toUser,gbMessage,gbDate,gbTime,gbIP,Avatar,gbRead, pprivate) "
	addPost = addPost & "VALUES("& varFromUser &","& varToUser &",'"& varMessage &"','"& varGBDate &"','"& varGBTime &"','"& varIP &"','"& varAvatar &"',1, 0)"
	objConn.Execute(addPost)
	response.write addPost
	'response.end
objConn.Execute("Update tblUsers SET poang = poang+0.25 WHERE userID= " & UserID &"")
	
response.redirect "/guestbook/GB.asp?toUser="&varToUser&"&name="&varFran&"&fromUser="&varFromUser&"&id="&varGBID&""
end if
Medlem sedan dec. 19996 721 inlägg
#6

Ser inget direkt fel, men vill ändå föreslå att du "refaktoriserar" koden lite. Det enda som skiljer mellan privata och icke-privata meddelanden är värdet på pprivate och poäng-adderingen. Koden bör utnyttja detta faktum.

if request.form("chkPrivat") = "J" then
   pprivate=1
   poang="0.5"
else
   pprivate=0
   poang="0.25"
end if

SET objConn = connect()
addPost = "INSERT INTO tblUsers_guestbook"
addPost = addPost & "(fromUser,toUser,gbMessage,gbDate,gbTime,gbIP,Avatar,gbRead,   pprivate) "
addPost = addPost & "VALUES("& varFromUser &","& varToUser &",'"& varMessage &"','"& varGBDate &"','"& varGBTime &"','"& varIP &"','"& varAvatar &"',1, " & pprivate & ")"
objConn.Execute(addPost)
response.write addPost
'response.end
objConn.Execute("Update tblUsers SET poang = poang+" & poang & " WHERE userID= " & UserID)
	
response.redirect "/guestbook/GB.asp?toUser="&varToUser&"&name="&varFran&"&fromUser="&varFromUser&"&id="&varGBID

Uppmärksamma även att jag tagit bort onödiga strängavslut.

Medlem sedan feb. 20032 027 inlägg
#7
  gbID fromUser toUser gbMessage gbDate gbTime gbIP Avatar gbRead pprivate 
      5872 1 1 ett inlägg till 2005-11-06 18:54:57 213.65.34.205   0 0 
      5873 1 1 funkar? 2005-11-06 18:55:38 213.65.34.205   0 0 
      5874 1 1 funkar? 2005-11-06 18:58:27 213.65.34.205   0 0 
      5875 1 1 ett inlägg 2005-11-06 18:59:17 213.65.34.205   0 0 
      5876 1 1 privat 2005-11-06 18:59:28 213.65.34.205   0 1 
      5877 1 1 testar 2005-11-06 20:17:15 213.65.34.205   0 0

Din kod underlättade men som du ser här i databasen så är den förbaskade nollan kvar

Medlem sedan dec. 19996 721 inlägg
#8

...och det är ingen annan kod som sätter nollan, t.ex. i sidan som du redirectar till?

Vad händer om du kör frågan direkt mot MySQL?

Medlem sedan feb. 20032 027 inlägg
#9

det lustiga är att det funkade perfekt med access, true blev 1 och false blev 0 och sen funkade inte det när jag bytte till MySQL

Medlem sedan dec. 19996 721 inlägg
#10

Vad händer om du kör frågan direkt mot MySQL?

248 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)