Avatar billede mrdj Nybegynder
22. maj 2005 - 16:15 Der er 26 kommentarer og
1 løsning

Link som returnerer data fra 2 forskellige tabeller

Jeg sidder med en database hvori jeg returnerer nogle forskellige data og nogle af disse data bliver så linket så der kan krydsrefereres rundt omkring i dataene. Jeg har så en side hvor der er et start navn som henter data fra felt hvor f.eks squad="squad 01" men hvor det også kan være squad="desperado squad" men nu ligger verden sådan at lige præcis den værdi ligger i en anden tabel i databasen hvordan gør jeg i asp koden så den ved den værdi henter data fra den anden tabel og det andet data fra den første tabel ? Samtidig har jeg lidt problemer med i linket at få " " omkring hvor skal dette gøres ?

Response.Write "<td width=125 align=left> " & " <a href='squadname.asp?squadname=" & rs("Qualifiedfrom") & "'>" &rs("Qualifiedfrom") & "</td>"

I kan se et eksempel her: http://www.bowlingonline.dk/problem.asp
Avatar billede busschou Praktikant
22. maj 2005 - 16:19 #1
Jeg er ikke helt med på hvad du helt præcis mener med de to databaser. Kan du give et konkret eksempel?
Det med " i asp i en response.write der skal de blot escapes dobbelt
Response.Write "<td width=""125"" align=""left""><a href=""squadname.asp?squadname=" &rs("Qualifiedfrom")& """>" &rs("Qualifiedfrom") &"</td>"
Avatar billede busschou Praktikant
22. maj 2005 - 16:20 #2
Der mangler vel i øvrigt for synets skyld også en </a> ;o)
Response.Write "<td width=""125"" align=""left""><a href=""squadname.asp?squadname=" &rs("Qualifiedfrom")& """>" &rs("Qualifiedfrom") &"</a></td>"
Avatar billede busschou Praktikant
22. maj 2005 - 16:22 #3
Hvordan ser din sql ud?
Som den er nu giver den dig jo en error kan jeg se pga "missing operator"
Har du husket plinger ' rundt om det squad navn du henter fra din querystring?
Avatar billede busschou Praktikant
22. maj 2005 - 16:24 #4
Generelt er der intet problem i at hente data fra to tabeller
Du skal blot bruge to sql statements
sql1 = select * from tabel1
sql2 = select * from tabel2
Avatar billede mrdj Nybegynder
22. maj 2005 - 16:52 #5
Jeg har fået plingers med nu så nu virker den del. Okey så vil jeg lave 2 SQL statements der er så dog stadig det problem med at den skal udfra hvad den returnerer af data enten tage data fra den ene tabel eller den anden. Hvis den f.eks returnerer "Squad 01" skal den tage fra tabel 1 og hvis den f.eks returnerer "Desperado squad" skal den tage data fra tabel 2, det må jo være noget if kode i asp filen?
Avatar billede busschou Praktikant
22. maj 2005 - 16:55 #6
if (request.querystring("squadname") = "Desperado squad") then
  sql = "Select * From tabel1"
else
  sql = "Select * From tabel2"
end if
conn.execute(sql)
--
sådan?
Avatar billede mrdj Nybegynder
22. maj 2005 - 16:58 #7
Kan jeg ikke få dig til at downloade filen og så sætte det ind og så skrive koden her inkl. ændringen.. skal nok selv erstatte tabel navne

Filen kan downloades her http://www.bowlingonline.dk/problem.zip
Avatar billede busschou Praktikant
22. maj 2005 - 17:02 #8
Du skal vel bare rette denne her:
----
' SQL forespørgsel
strSQL = "SELECT* FROM Websquadstandings WHERE squadname = " &(squadnm)& ""
' Her udføres forespørgsel på data (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)
----
til
----
if squadnm = "Desperado squad" then
  strSQL = "SELECT * FROM den_anden_tabel"
else
  strSQL = "SELECT * FROM Websquadstandings WHERE squadname = " &(squadnm)& ""
end if
Set rs = Conn.Execute(strSQL)
Avatar billede mrdj Nybegynder
22. maj 2005 - 17:13 #9
Okey det ser ud til at være fint nok men nu kommer jeg til at se at feltnavnene ikke er det samme i de 2 tabeller, er det ikke muligt at få den til at linke til en anden asp fil ved værdi returneringen "Desperado squad" filen hedder desperado.asp og indeholder data fra den anden tabel. Hvordan gør jeg lige det ?
Avatar billede mrdj Nybegynder
22. maj 2005 - 17:13 #10
design skal nemlig heller ikke være det samme. Link nu er http://www.bowlingonline.dk/top48.asp
Avatar billede thesurfer Nybegynder
22. maj 2005 - 17:30 #11
1) Hvorfor har du indsat "-tegnet i dine links?:

<td width=125 align=left>  <a href='squadname.asp?squadname="Squad 02"'>Squad 02</td>

Da du har "-tegnet i dine links, vil variablen 'squadnm' aldrig indeholde 'Desperado squad'.. Jeg henviser til din IF-sætning: if squadnm = "Desperado squad" then


2) Du mangler at afsluttes dine A-tags med </a>, dvs:

<td width=125 align=left>  <a href='squadname.asp?squadname=Squad 02'>Squad 02</a></td>
Avatar billede thesurfer Nybegynder
22. maj 2005 - 17:33 #12
3) Du har en fejl i din SQL-sætning. Request.Querystring indeholder en streng-værdi, og ikke en tal-værdi.. værdien SKAL derfor være omgivet af '-tegnet

Dvs "... WHERE squadname = '" &(squadnm)& "'"
Avatar billede mrdj Nybegynder
22. maj 2005 - 17:35 #13
Jeg er ikke helt med på hvad med du mener med - tegnet i mine links ?

Det andet jeg forespørger tidligere hvordan gøres dette lige for den anden måde var jo fin hvis felt navne og design skulle være det samme men det er det desværre ikke
Avatar billede busschou Praktikant
22. maj 2005 - 17:38 #14
Der skal ikke være gåse øjne i din streng
denne her for eksempel
<a href='squadname.asp?squadname="Squad 02"'>
skal være
<a href='squadname.asp?squadname=Squad 02'>
Avatar billede thesurfer Nybegynder
22. maj 2005 - 17:38 #15
Du har sat gåseøjne (") som en del af dine links.. det skal der ikke være..
Avatar billede busschou Praktikant
22. maj 2005 - 17:40 #16
mrdj >>
som svar på 17:13:26
Jo du laver bare dine links forskellige
type 1 - <a href='squadname.asp?squadname=Squad 02'>
type 2 - <a href='desperado.asp'>
Avatar billede busschou Praktikant
22. maj 2005 - 17:43 #17
I din problem.asp laver du denne linje om så
Response.Write "<td width=125 align=left> " & " <a href='squadname.asp?squadname=""" & rs("Qualifiedfrom") & """'>" &rs("Qualifiedfrom") & "</td>"
til
if rs("Qualifiedfrom") = "Desperado squad" then
  Response.Write "<td width=125 align=left><a href='desperado.asp'>" &rs("Qualifiedfrom") & "</a></td>"
else
  Response.Write "<td width=125 align=left><a href='squadname.asp?squadname=" & rs("Qualifiedfrom") & "'>" &rs("Qualifiedfrom") & "</a></td>"
end if
Avatar billede mrdj Nybegynder
22. maj 2005 - 18:08 #18
Mht. gåseøjne hvis ikke de er der får jeg fejl på returneringen af data.

Jeg forstår ikke helt hvad du mener mht. ændringen af linkt. Hvis nu jeg ligger filen til download igen kan du så ikke ligge den del jeg skal ændre op herpå
Avatar billede mrdj Nybegynder
22. maj 2005 - 18:09 #19
Avatar billede busschou Praktikant
22. maj 2005 - 18:17 #20
hmm underligt..så behold gåseøjnene
Det jeg mener har jeg skrevet 17:43:30..pånær så gåse øjnene ;o)
Du skrev selv om du kunne linke til en anden side fordi felterne i tabellerne ikke hed det samme
Det kan du jo gøre ved netop at lave en link til den ene side hvis det er desperado og en anden side ellers...som skrevet
Kan vist ikke skrive det meget bedre
Avatar billede mrdj Nybegynder
22. maj 2005 - 18:27 #21
Det er jeg helt med på, jeg kan bare ikke få det til at fungere når jeg sætter det ind i koden og det var derfor jeg tænkte du måske ville finde stederne og sætte det ind i koden og så ligge koden herop på bagefter? Så jeg var sikker på det blev gjort rigtigt
Avatar billede busschou Praktikant
22. maj 2005 - 18:31 #22
Jamen det er jo...hehe..det er jo det jeg har gjort  17:43:30
Din linje
---
Response.Write "<td width=125 align=left> " & " <a href='squadname.asp?squadname=""" & rs("Qualifiedfrom") & """'>" &rs("Qualifiedfrom") & "</td>"
---
i filen problem.asp skal udskiftes med
---
if rs("Qualifiedfrom") = "Desperado squad" then
  Response.Write "<td width=125 align=left><a href='desperado.asp'>" &rs("Qualifiedfrom") & "</a></td>"
else
  Response.Write "<td width=125 align=left> " & " <a href='squadname.asp?squadname=""" & rs("Qualifiedfrom") & """'>" &rs("Qualifiedfrom") & "</td>"
end if
---
Avatar billede mrdj Nybegynder
22. maj 2005 - 21:20 #23
Jeg beklager meget, den øverste del var vist gået lidt i stå :-) Men nu virker den del også, så har jeg kun lige et sidste spørgsmål.

Hvordan kan man, hvis et resultat bliver på 300 i f.eks feltet G1 få den til at skrive det med en anden farve samt kursivt via ASP koden ?
Avatar billede busschou Praktikant
22. maj 2005 - 21:51 #24
JAmen så vil jeg da smide et svar... den øverste kan gå af for alle af og til jo ;o)
Jeg er ikke helt med på hvad du mener med feltet G1?
Hvis det er fra databasen kan du vel gøre noget ala
if rs("G1") = 300 then
  response.write "<td bgcolor='#FFFFFF'><i>"&rs("G1")&"</i></td>"
else
  response.write "<td bgcolor='#000000'>"&rs("G1")&"</td>"
end if
Avatar billede mrdj Nybegynder
22. maj 2005 - 22:07 #25
Jamen jeg siger mange tak for hjælpen så langt, det kan jo være der kommer noget senere, men så opretter jeg bare et nyt spørgsmål der og håber på ligeså god hjælp :-)
Avatar billede mrdj Nybegynder
22. maj 2005 - 22:08 #26
Lige en sidste ting hvis nu det er flere felter det drejer sig om hvordan gør man så lige? Har felterne G1, G2, G3, G4, G5 og G6 det drejer sig der skal tjekkes for en værdi på 300
Avatar billede busschou Praktikant
22. maj 2005 - 22:10 #27
if rs("G1") = 300 or rs("G2") = 300 or rs("G3") = 300 osvosv then
  kode som udføres hvis en af dem er 300
else
  kode som udføres hvis ingen er 300
end if
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