Avatar billede area404 Nybegynder
06. april 2005 - 23:10 Der er 7 kommentarer

Opdatere mysql database

Hej Eksperter

Jeg har en database med nogle brugere informationer bla.
navn
alis
motto
rate1
rate2
rate3
...

Hvordan kan jeg opdatere deres rating?
Altså når en bruger går ind og skal rate en anden bruger skal et tal ligges oveni den allerede eksisterende rating de har.

Jeg har denne:
SQL = ("UPDATE brugere set rate1= '"&request.form("rate1")'"+'1' where ID = '"&request.querystring("ID")&"'")
.. men den opdatere kun ét felt.. og der er en del der skal opdateres.. kan jeg
Avatar billede barklund Nybegynder
06. april 2005 - 23:47 #1
Hvad er forskellen på rate1, rate2 og så videre?

Og for at du kan vægte nye ratings korrekt, så er du nødt til at vide, hvormange rates den enkelte bruger har fået i alt indtil nu. Altså hvis jeg har fået tre stemmer med gennemsnitligt 5 i rating og får en til med 9 i rating skal det samlede jo ikke være 7 men derimod 6, da 5-tallet vægter 3 gange højere end 9-tallet.
Avatar billede area404 Nybegynder
06. april 2005 - 23:58 #2
Sådan ser min kode ud nu:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=78; UID=ron; "

SQL = "UPDATE brugere SET (rate1, rate2, rate3, rate4, rate5, rate6, rate7, rate8, rate9, rate10, rate11, rate12, rate13, rate14, rate15, rate16, rate17, rate18, rate19, rate20, rate21, rate21, rate22, rate23, rate24, rate25, rate26, rate27, rate28, rate29) values('"
        Sql = Sql & Request.form("rate1") & "','"
        Sql = Sql & Request.form("rate2") & "','"
        Sql = Sql & Request.form("rate3") & "','"
        Sql = Sql & Request.form("rate4") & "','"
        Sql = Sql & Request.form("rate5") & "','"
        Sql = Sql & Request.form("rate6") & "','"
        Sql = Sql & Request.form("rate7") & "','"
        Sql = Sql & Request.form("rate8") & "','"
        Sql = Sql & Request.form("rate9") & "','"
        Sql = Sql & Request.form("rate10") & "','"
        Sql = Sql & Request.form("rate11") & "','"
        Sql = Sql & Request.form("rate12") & "','"
        Sql = Sql & Request.form("rate13") & "','"
        Sql = Sql & Request.form("rate14") & "','"
        Sql = Sql & Request.form("rate15") & "','"
        Sql = Sql & Request.form("rate16") & "','"
        Sql = Sql & Request.form("rate17") & "','"
        Sql = Sql & Request.form("rate18") & "','"
        Sql = Sql & Request.form("rate19") & "','"
        Sql = Sql & Request.form("rate20") & "','"
        Sql = Sql & Request.form("rate21") & "','"
        Sql = Sql & Request.form("rate22") & "','"
        Sql = Sql & Request.form("rate23") & "','"
        Sql = Sql & Request.form("rate24") & "','"
        Sql = Sql & Request.form("rate25") & "','"
        Sql = Sql & Request.form("rate26") & "','"
        Sql = Sql & Request.form("rate27") & "','"
        Sql = Sql & Request.form("rate28") & "','"
        Sql = Sql & Request.form("rate29") & "') WHERE ID = '" & Request.Querystring("ID") & "'"
       
        objConn.Execute(SQL)


%>


Jeg får denne fejl:
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-4.0.16-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(rate1, rate2, rate3, rate4, rate5, rate6, rate7, rate8, rate9,
/78/addrate.asp, line 36


Nej, det er mere et point system, det hele skal ligges sammen, men det klarer jeg senere når jeg bare kan få den til at ligge informationerne ind i databasen
Avatar billede barklund Nybegynder
07. april 2005 - 00:42 #3
Det er også en forkert syntaks. Update ser ud som:

UPDATE brugere SET rate1 = 1, rate2 = 2, ... WHERE id = 42

Så du skal lige flytte lidt rundt på det :)
Avatar billede area404 Nybegynder
07. april 2005 - 00:48 #4
Den er jeg ikke helt med på... hvad er det der skal byttes om? skal jeg bare flytte alle  request.form op ved siden af?

UPDATE brugere SET rate1 = Request.form("rate1"), rate2 = Request.form("rate2"), ... ??
Avatar billede barklund Nybegynder
07. april 2005 - 09:36 #5
Ja, sådan skal det se ud.

Sql = "UPDATE brugere SET
Sql = Sql & "rate1 = '" & Request.form("rate1") & "', "
Sql = Sql & "rate2 = '" 6 Request.form("rate2") & "', "
...
Sql = Sql & "rate29 = '" 6 Request.form("rate29") & "' "
Sql = Sql & "WHERE D = " & Request.Querystring("ID")
objConn.Execute(Sql)
Avatar billede area404 Nybegynder
07. april 2005 - 10:15 #6
har fået det til at fungere nu.. kan du ikke lage smide et svar
Avatar billede barklund Nybegynder
07. april 2005 - 10:42 #7
Yesyes :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester