Avatar billede poppo Nybegynder
07. august 2005 - 01:18 Der er 19 kommentarer og
1 løsning

fremvisning af data hentet i access database

hej..

jeg ønsker at lave en side hvor jeg viser resultataet af nogle værdier i en tabel fra en access database

jeg får værdierne frem og de bliver vist sådan feks:

a
b
c
d

SPG: jeg ønsker at de skal vises på denne måde = a b c d

hvad har jeg skrevet forkert er der en anden kode for at vise det sådan??
Avatar billede softspot Forsker
07. august 2005 - 01:28 #1
Hvad har du skrevet nu?
Avatar billede nielle Nybegynder
07. august 2005 - 08:37 #2
Hvis dine data bliver udskrevet som:

a
b
c
d

- så skyldes det at du enten udskriver en <br>-tag efter hver af dem:

a<br>b<br>c<br>d<br>

- eller at du har indsat dem i en tabel:

<table>
<tr><td>a</td></tr>
<tr><td>b</td></tr>
<tr><td>c</td></tr>
<tr><td>d</td></tr>
</table>

Hvis du ønsker at få dem på formen:

a b c d

- så er løsningen simpel: Det skal du lade være med.

Et simpelt stykke kode til at opnå dette kunne se sådan her ud:

SQL = "SELECT ditFelt FROM dinTabel"
Rs = Conn.Execute(SQL)

Do While Not Rs.EOF
    Response.Write Rs("DitFelt") & " "
    Rs.MoveNext
Loop

Grunden til at der lægges et mellemrum efter hver udskrift, er at det ellers ville komme til at se sådan her ud i stedet:

acbd
Avatar billede busschou Praktikant
07. august 2005 - 09:00 #3
og hvis du ønsker der kun skal være fire data pr linje så kan du lave linjeskift ved at tjekke på modulus
---
skift = 4
count = 0

SQL = "SELECT ditFelt FROM dinTabel"
Rs = Conn.Execute(SQL)

Do While Not Rs.EOF
  Response.Write Rs("DitFelt") & " "
  count = count + 1
  if skift mod count = 0 then
    response.write "<br>"
  Rs.MoveNext
Loop
---
Hvis det skal være mere avanceret så tager man en tabel i brug og holder rede på fx en rowcount og colcount
Avatar billede nielle Nybegynder
07. august 2005 - 09:06 #4
... rettelse:

if count mod skift = 0 then
Avatar billede busschou Praktikant
07. august 2005 - 09:09 #5
ja den var for hurtig der, mangler også en "end if" :o)
Avatar billede nielle Nybegynder
07. august 2005 - 09:28 #6
Ikke nødvendigvis, for faktisk er det lovlig syntaks at skrive:

if skift mod count = 0 then response.write "<br>"

- når bare det er på en *enkelt* linje.
Avatar billede busschou Praktikant
07. august 2005 - 09:30 #7
jep men det var det jo så heller ikke ;o)
Men jo det jeg har jeg også hørt at det er , har dog aldrig selv brugt det
Avatar billede stigdk Nybegynder
07. august 2005 - 09:47 #8
er dette spørgsmål løst eller??
Avatar billede busschou Praktikant
07. august 2005 - 09:50 #9
det ved man jo aldrig førend spørgeren har givet lyd fra sig
Men umiddelbart så løser nielles svar det ønskede
Avatar billede nielle Nybegynder
07. august 2005 - 09:51 #10
Rolig nu, i betragtning af at poppo postede det i nat kl. 01:18:49 så kunne det jo tænkes at h(a/u)n ligger og sover lige nu. :^)
Avatar billede nielle Nybegynder
07. august 2005 - 09:59 #11
Jeg kom lige i tanke om noget andet der kunne være galt. Måske udskrives det faktisk som:

a b c d

- men det er placeret i en celle i en tabel. Hvis denne celle er smal nok så vil den selv forcere et linjeslift ved mellemrummene.

Løsningen i dette tilfælde kunne være at udskrive "&nbsp;" i stedet for mellemrum:

SQL = "SELECT ditFelt FROM dinTabel"
Rs = Conn.Execute(SQL)

Do While Not Rs.EOF
    Response.Write Rs("DitFelt") & "&nbsp;"
    Rs.MoveNext
Loop
Avatar billede busschou Praktikant
07. august 2005 - 10:20 #12
tja det er svært at vide hvad der præcis er galt når poppo ikke har givet nogen kode
Specielt når han skriver "hvad har jeg skrevet forkert"
hehe så er mulighederne mange ;o)
Men mon ikke han snart vågner efter sin lange nat :o)
Avatar billede poppo Nybegynder
07. august 2005 - 12:13 #13
hejsa...

jeg indsætter lige hele koden herunder........

-------------------------------------------------------------------------------------

<table valign=top width="820" cellspacing=0 cellpadding=0 border=0>


<tr><td class=BOXCOL2>

<%antal_pics=3

ordrecount=connect.execute("SELECT count(tblannonce.id_annonce) AS antal FROM (tblannonce INNER JOIN tblannonce_banner ON tblannonce.id_annonce=tblannonce_banner.id_annonce) INNER JOIN tblannonce_type ON tblannonce.id_annoncetype=tblannonce_type.id_annoncetype WHERE tblannonce.id_bruger>0 AND tblannonce_banner.id_ordre>0")
antal_poster=ordrecount("antal")
if antal_poster<min_bannerpics then
    antal_poster=min_bannerpics 'fastsat i global
end if
SQL="SELECT top "&antal_poster&" * FROM (tblannonce INNER JOIN tblannonce_banner ON tblannonce.id_annonce=tblannonce_banner.id_annonce) INNER JOIN tblannonce_type ON tblannonce.id_annoncetype=tblannonce_type.id_annoncetype ORDER BY tblannonce_banner.id_ordre desc" 

Set RSpics = Server.CreateObject("ADODB.RecordSet")
RSpics.Open SQL, Connect, 3   

bannercount=0
do while not bannercount=antal_pics and not rspics.recordcount=bannercount
   
    RandNum = Int(Rnd * rspics.recordcount) + 1
    rspics.absoluteposition = RandNum
    brugnummer=true
    pics=split(checkbil,",")
    for each objekt in pics
        if lcase(objekt)=lcase(rspics("id_annonce")) then
            brugnummer=false
        end if
    next
                       
    if brugnummer=true then
        bannercount=bannercount+1
        connect.execute("UPDATE tblordre SET tblordre.visninger=tblordre.visninger+1 WHERE tblordre.id_ordre="&rspics("id_ordre") )
        checkbil=checkbil&rspics("id_annonce")&","%>
       
       
       
       
        <table height=1 width="22%" border="1" cellspacing="0" cellpadding="2" bordercolorlight="#663300" bordercolordark="#FFFFFF">
        <tr class=boxcol><td width="71%">
            <table border="0" width="100%" cellspacing="0" cellpadding="0">
            <tr><td><a href=/banner01.asp?id=<%=rspics("id_annonce")%>&ido=<%=rspics("id_ordre")%>><img src=/banner/<%=rspics("id_banner")%>.jpg border=0></a></td></tr>
            </table>           
        </td></tr>
        <tr><td><font style="font-size:9px"><%=rspics("overskrift")%></font>&nbsp;</td></tr>
        <tr class=headcol>
          <td width="71%" background="/grafik/tabletop_bg1.gif"><table width=100% cellspacing=0 cellpadding=0 border=0><tr><td style="font-size:9px;color:#000000;"><%=rspics("annoncetype")%></td><td style="font-size:9px;color:#000000;" align=right>Kr. <%=formatnumber(rspics("pris"))%></td></tr></table></td></tr>
        <tr class=headcol1><td width="71%"><table width=100% cellspacing=0 cellpadding=0 border=0><tr><td style="font-size:9px;color:#000000;" align="center"><a target="_blank" href="http://<%=rspics("tekst02")%>">
          <font color="#000000"><%=rspics("tekst02")%></font></a></td></tr></table></td></tr>   
        </table>
       
       
<%if bannercount<antal_pics then%>
            </td></tr>
           
           
<tr><td class=BOXCOL2 width="20">
           
<%end if%>

<%end if
loop   
rspics.close
set rspics=nothing%>

</table>


-------------------------------------------------------------------------------------

som sagt ligger resultatet af denne side sådan at jeg for dette resultat


----------------
-              -
-              -
-              -
-    billed    -
-              -
-              -
----------------
-  tekst      -
----------------


og så det samme her men ønsker at indsætte det ved side af hinanden med et mellemrum

takker på forhånd
Avatar billede busschou Praktikant
07. august 2005 - 12:19 #14
så vidt jeg kan se laver du i hvert loop en tabel
Tabeller vil umiddelbart altid lægge sig under hinanden
Så hvis det er dem du ønsker at have ved siden af hinanden skal du uden om dit loop lave een stor tabel, og så hver i en celle for sig
ala
---
response.write "<table><tr>"
do while not rs.eof
  response.write "<td>"
  // dine tabeller her
  response.write "</td>"
rs.movenext
loop
response.write "</tr></table>"
---
Så kommer de ved siden af hinanden
Hvis du vil have dem i flere lag, altså fire i bredden og fire i højden så skal der en del mere til :o)
Avatar billede busschou Praktikant
07. august 2005 - 12:20 #15
hov du har jo en tabel uden om det hele, sorry så jeg ikke :o)
Du skal bare hver gang i din løkke lave en <td> og afslutte med en </td>, derved kommer der jo en ny kolonne i din overordnede tabel
Avatar billede poppo Nybegynder
07. august 2005 - 12:42 #16
hej busschou..

tak for svaret... kan di ikke kopiere teksten og ligge dit svar ind hvor du mener det skal være for jeg er gået lidt kold på dette og kan ikke lige se finden du snakker om
mvh per
Avatar billede busschou Praktikant
07. august 2005 - 12:52 #17
den er svær at finde ud af , du har mange tabeller inden i hinanden
Så jeg har prøvet lave lidt indrykninger og så ser din kode sådan her ud
----
<table valign=top width="820" cellspacing=0 cellpadding=0 border=0>
  <tr>
    <td class=BOXCOL2>
<%
antal_pics=3
ordrecount=connect.execute("SELECT count(tblannonce.id_annonce) AS antal FROM (tblannonce INNER JOIN tblannonce_banner ON tblannonce.id_annonce=tblannonce_banner.id_annonce) INNER JOIN tblannonce_type ON tblannonce.id_annoncetype=tblannonce_type.id_annoncetype WHERE tblannonce.id_bruger>0 AND tblannonce_banner.id_ordre>0")
antal_poster=ordrecount("antal")
if antal_poster<min_bannerpics then
  antal_poster=min_bannerpics 'fastsat i global
end if
SQL="SELECT top "&antal_poster&" * FROM (tblannonce INNER JOIN tblannonce_banner ON tblannonce.id_annonce=tblannonce_banner.id_annonce) INNER JOIN tblannonce_type ON tblannonce.id_annoncetype=tblannonce_type.id_annoncetype ORDER BY tblannonce_banner.id_ordre desc"
Set RSpics = Server.CreateObject("ADODB.RecordSet")
RSpics.Open SQL, Connect, 3 
bannercount=0
do while not bannercount=antal_pics and not rspics.recordcount=bannercount
  RandNum = Int(Rnd * rspics.recordcount) + 1
  rspics.absoluteposition = RandNum
  brugnummer=true
  pics=split(checkbil,",")
  for each objekt in pics
    if lcase(objekt)=lcase(rspics("id_annonce")) then
      brugnummer=false
    end if
  next
  if brugnummer=true then
    bannercount=bannercount+1
    connect.execute("UPDATE tblordre SET tblordre.visninger=tblordre.visninger+1 WHERE tblordre.id_ordre="&rspics("id_ordre") )
    checkbil=checkbil&rspics("id_annonce")&","
%>
      <table height=1 width="22%" border="1" cellspacing="0" cellpadding="2" bordercolorlight="#663300" bordercolordark="#FFFFFF">
        <tr class=boxcol>
          <td width="71%">
            <table border="0" width="100%" cellspacing="0" cellpadding="0">
              <tr>
                <td>
                  <a href=/banner01.asp?id=<%=rspics("id_annonce")%>&ido=<%=rspics("id_ordre")%>><img src=/banner/<%=rspics("id_banner")%>.jpg border=0></a>
                </td>
              </tr>
            </table>         
          </td>
        </tr>
        <tr>
          <td>
            <font style="font-size:9px"><%=rspics("overskrift")%></font>&nbsp;
          </td>
        </tr>
        <tr class=headcol>
          <td width="71%" background="/grafik/tabletop_bg1.gif">
            <table width=100% cellspacing=0 cellpadding=0 border=0>
              <tr>
                <td style="font-size:9px;color:#000000;">
                  <%=rspics("annoncetype")%>
                </td>
                <td style="font-size:9px;color:#000000;" align=right>
                  Kr. <%=formatnumber(rspics("pris"))%>
                </td>
              </tr>
            </table>
          </td>
        </tr>
        <tr class=headcol1>
          <td width="71%">
            <table width=100% cellspacing=0 cellpadding=0 border=0>
              <tr>
                <td style="font-size:9px;color:#000000;" align="center">
                  <a target="_blank" href="http://<%=rspics("tekst02")%>">
                  <font color="#000000"><%=rspics("tekst02")%></font></a>
                </td>
              </tr>
            </table>
          </td>
        </tr> 
      </table>
<%
    if bannercount<antal_pics then
%>
    </td>
  </tr>
  <tr>
    <td class=BOXCOL2 width="20">     
<%
    end if
  end if
loop 
rspics.close
set rspics=nothing
%>
</table>
-----
Tager jeg fejl hvis det er den sidste if sætning hvor du sætter hvert element ind som en ny række?
Altså skal du rette det nederste
-----
%>
    </td>
  </tr>
  <tr>
    <td class=BOXCOL2 width="20">     
<%
-----
til
-----
%>
    </td>
    <td class=BOXCOL2 width="20">     
<%
-----
hvorved den ikke indsætter en ny række men kun en ny kolonne :o)
Avatar billede busschou Praktikant
07. august 2005 - 12:53 #18
dvs total set sådan her vil jeg tro
-----
<table valign=top width="820" cellspacing=0 cellpadding=0 border=0>
  <tr>
    <td class=BOXCOL2>
<%
antal_pics=3
ordrecount=connect.execute("SELECT count(tblannonce.id_annonce) AS antal FROM (tblannonce INNER JOIN tblannonce_banner ON tblannonce.id_annonce=tblannonce_banner.id_annonce) INNER JOIN tblannonce_type ON tblannonce.id_annoncetype=tblannonce_type.id_annoncetype WHERE tblannonce.id_bruger>0 AND tblannonce_banner.id_ordre>0")
antal_poster=ordrecount("antal")
if antal_poster<min_bannerpics then
  antal_poster=min_bannerpics 'fastsat i global
end if
SQL="SELECT top "&antal_poster&" * FROM (tblannonce INNER JOIN tblannonce_banner ON tblannonce.id_annonce=tblannonce_banner.id_annonce) INNER JOIN tblannonce_type ON tblannonce.id_annoncetype=tblannonce_type.id_annoncetype ORDER BY tblannonce_banner.id_ordre desc"
Set RSpics = Server.CreateObject("ADODB.RecordSet")
RSpics.Open SQL, Connect, 3 
bannercount=0
do while not bannercount=antal_pics and not rspics.recordcount=bannercount
  RandNum = Int(Rnd * rspics.recordcount) + 1
  rspics.absoluteposition = RandNum
  brugnummer=true
  pics=split(checkbil,",")
  for each objekt in pics
    if lcase(objekt)=lcase(rspics("id_annonce")) then
      brugnummer=false
    end if
  next
  if brugnummer=true then
    bannercount=bannercount+1
    connect.execute("UPDATE tblordre SET tblordre.visninger=tblordre.visninger+1 WHERE tblordre.id_ordre="&rspics("id_ordre") )
    checkbil=checkbil&rspics("id_annonce")&","
%>
      <table height=1 width="22%" border="1" cellspacing="0" cellpadding="2" bordercolorlight="#663300" bordercolordark="#FFFFFF">
        <tr class=boxcol>
          <td width="71%">
            <table border="0" width="100%" cellspacing="0" cellpadding="0">
              <tr>
                <td>
                  <a href=/banner01.asp?id=<%=rspics("id_annonce")%>&ido=<%=rspics("id_ordre")%>><img src=/banner/<%=rspics("id_banner")%>.jpg border=0></a>
                </td>
              </tr>
            </table>         
          </td>
        </tr>
        <tr>
          <td>
            <font style="font-size:9px"><%=rspics("overskrift")%></font>&nbsp;
          </td>
        </tr>
        <tr class=headcol>
          <td width="71%" background="/grafik/tabletop_bg1.gif">
            <table width=100% cellspacing=0 cellpadding=0 border=0>
              <tr>
                <td style="font-size:9px;color:#000000;">
                  <%=rspics("annoncetype")%>
                </td>
                <td style="font-size:9px;color:#000000;" align=right>
                  Kr. <%=formatnumber(rspics("pris"))%>
                </td>
              </tr>
            </table>
          </td>
        </tr>
        <tr class=headcol1>
          <td width="71%">
            <table width=100% cellspacing=0 cellpadding=0 border=0>
              <tr>
                <td style="font-size:9px;color:#000000;" align="center">
                  <a target="_blank" href="http://<%=rspics("tekst02")%>">
                  <font color="#000000"><%=rspics("tekst02")%></font></a>
                </td>
              </tr>
            </table>
          </td>
        </tr> 
      </table>
<%
    if bannercount<antal_pics then
%>
    </td>
    <td class=BOXCOL2 width="20">     
<%
    end if
  end if
loop 
rspics.close
set rspics=nothing
%>
</table>
Avatar billede poppo Nybegynder
07. august 2005 - 13:03 #19
takker det virker nu perfekt......
Avatar billede busschou Praktikant
07. august 2005 - 13:04 #20
det var så lidt :o)
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