Avatar billede deicer Nybegynder
25. november 2004 - 12:11 Der er 10 kommentarer og
1 løsning

Returnere data fra en tabel

Hej Eksperter

Jeg har en ASP side og en mySQL tabel.

Jeg forsøger at lave en side, hvor scriptet skal hente oplysningerne fra SQL tabellen. I databasen ”bruger” har jeg en tabel der hedder ”brugerPoint”. Her ønsker jeg at scriptet skal hente den pågælende bruger som er logget ind’s ponit.

Jeg kan godt få scriptet til at returnere HELE listen med alle brugernes "brugerPoint", men jeg ønsker kun at den skal vise den pågælende indloggede brugers point.

Først logger brugeren ind på en login side (det virker perfekt), derefter trykker man på et link til "Vis point".


Mit "Vis point" script ser således ud :
<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={MySQL}; server=localhost;database=xxx_;uid=xxx_;pwd=xxx;option=xxx"
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Set Rs2 = Server.CreateObject("ADODB.Recordset")


brugerID = Session("brugerID")
brugerNavn = Session("brugerNavn")


strSQL = "Select brugerPoint From bruger"

Set rs = Conn.Execute(strSQL)

Do

  Response.Write rs("brugerPoint") & where & brugerNavn = session("BrugerNavn")
  rs.MoveNext

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

Resultatet på siden bliver bare:

FalseFalseFalseFalseFalseTrueTrueTrueTrueTrueTrueTrueTrueTrueTrueTrueTrueTrueFalseTrueTrueTrueTrue

Jeg fatter det ikke !

Jeg tror at det er denne linje der er problemer med  Response.Write rs("brugerPoint") & where & brugerNavn = session("BrugerNavn")
Men der står vel bare at den skal skrive ”brugerPoint” hvis brugerNavnet er lig med ”session brugernavnet” som jeg har brugt på login side…

Har i nogen gode ideer ?

Mvh
Theis "Jeg er helt lost" Kristensen :-)
Avatar billede thesurfer Nybegynder
25. november 2004 - 13:17 #1
strSQL = "Select * From bruger where brugerPoint = '" & brugerID & "'"

brugerID skal muligvis udskiftes med brugerNavn.
Avatar billede thesurfer Nybegynder
25. november 2004 - 13:18 #2
og:

Do

  Response.Write rs("brugerPoint") & where & brugerNavn = session("BrugerNavn")
  rs.MoveNext

Loop While Not rs.EOF


skal være:

if not (rs.bof or rs.eof) then

  Response.Write rs("brugerPoint")

else

  Response.Write "brugerens points findes ikke!"

end if
Avatar billede thesurfer Nybegynder
25. november 2004 - 13:24 #3
Jeg går ud fra en opstillingen der ligner dette:

bruger, tabel
brugerID, type tal
brugerNavn, type tekst

Så det hedder bare:
hent brugerPoint fra tabellen bruger, hvor brugerID = mit_sessions_id_som_er_næverende_brugere

Du behøver derfor ikke en loop, når du kun behøver 1 record (nuværende brugerprofil).
Avatar billede thesurfer Nybegynder
25. november 2004 - 13:26 #4
Der står noget om det på http://html.dk/tutorials/asp/lektion19.asp
Lektionerne 17-22 på html.dk omhandler brugen af ASP og Access database:

- http://html.dk/tutorials/asp/
Avatar billede deicer Nybegynder
25. november 2004 - 14:06 #5
Hej thesurfer

Tak for hjælpemn.
Scriptet ser nu således ud:
Avatar billede deicer Nybegynder
25. november 2004 - 14:07 #6
<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "DRIVER={MySQL}; server=localhost;database=xxx_;uid=xxx_;pwd=xxx;option=xxx"
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Set Rs2 = Server.CreateObject("ADODB.Recordset")



brugerID = Session("brugerID")
brugerNavn = Session("brugerNavn")


strSQL = "Select * From bruger where brugerPoint = '" & brugerID & "'"

Set rs = Conn.Execute(strSQL)


Do

  if not (rs.bof or rs.eof) then

  Response.Write rs("brugerPoint")

else

  Response.Write "brugerens points findes ikke!"
 
  Conn.Close
Set Conn = Nothing

%>


Og jeg får denne fejl:

Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/t.asp, line 38
Avatar billede thesurfer Nybegynder
25. november 2004 - 14:16 #7
Du mangler "End If":

  if not (rs.bof or rs.eof) then

  Response.Write rs("brugerPoint")

else

  Response.Write "brugerens points findes ikke!"
 
end if ' denne manglede :-)

  Conn.Close
Set Conn = Nothing

%>
Avatar billede thesurfer Nybegynder
25. november 2004 - 14:17 #8
..og fjern "Do"...
Avatar billede deicer Nybegynder
25. november 2004 - 14:25 #9
Jaaaaa, se nu ligner det noget.

Udover at scriptet poster "brugerens points findes ikke!" selvom jeg er logget ind med en bruger der har point.

Hvordan hulen finder jeg fejlen ?

Er det fordi "session" ikke gemmer værdien med over i en ny side ? (Knappen "Vis mine point") ?

Mvh
¨Theis
Avatar billede thesurfer Nybegynder
25. november 2004 - 14:36 #10
Du kan altid checke om en variabel indeholder noget, ved at bruge:

response.write "*" & VariabelNavn & "*".
response.end ' udskriver ikke mere til browseren

Hvis den skriver "**", indeholder variablen ikke noget.

Eksempel: response.write "*" & brugerID & "*"

- Jeg bliver nok nød til at smutte.. kommer nok først tilbage engang i aften..
Der er sikkert andre der kan hjælpe dig videre..
Avatar billede deicer Nybegynder
21. juli 2008 - 13:56 #11
lukkes
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