Avatar billede eqvaliser Nybegynder
17. maj 2008 - 18:40 Der er 7 kommentarer og
1 løsning

opbygge listbox vha asp wend loop

har lidt data som jeg skal have smidt i en listbox

har lavet listboxen som hedder playerlist1

har en asp side som henter data fra en mysql db
og nu skal jeg bare en dene linie som hedder "navn"
listet så den kan vælges.

det ser på sådan ud.

<%
Dim Recordset, Connection, SQL
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open evidb

SQL = "SELECT * FROM jajadatablad"
Set Recordset = Server.CreateObject("ADODB.Recordset")
Recordset.Open SQL, Connection, 1, 3
While Not Recordset.EOF
    playerlist1.Items.Add(Response.Write Recordset("navn"))
  Recordset.MoveNext
Wend   
Recordset.Close
Connection.Close
Set Recordset = Nothing
Set Connection = Nothing
%>

og når jeg kører siden får jeg ingen fejl,
og den lister bare alle navnende for sig selv uden for boxen.

listboxen er placeret, umiddelbart efter scriptet i nogle tabeller.
og ser sådan ud..

          <select name="playerlist1" size="1">
          </select>

har forsøgt at flytter scriptet in i samme tabel som boxen, ingen forskel andet en hvor den skrev listen.
Avatar billede keysersoze Guru
17. maj 2008 - 21:02 #1
det her ligner mere asp.net end asp?

først og fremmest skal du ikke bruge "Response.Write" inde i din add-metode - dvs linien kommer til at se sådan ud;

playerlist1.Items.Add(Recordset("navn"))

Dernæst så overvej at lav det rigtigt når nu du (åbenbart) er ved at skifte fra asp til asp.net; recordsets er gammeldags, du har nogle meget bedre muligheder i .NET så kig evt på lidt artikler om ado.net.
Avatar billede eqvaliser Nybegynder
17. maj 2008 - 21:12 #2
hehe okey,  var ikke klar over jeg skiftede lidt imellem .net og asp

men har også luret et par andre små fejl,
fks den looop jeg laver skal jo laves ved/i tabellen ikke udenfor body.

så sådan ser select ud i min tabel nu..

        <div align="center">
        <select name="playerlist1" size="1">
  <%
  Dim spiller
       
  While Not Recordset.EOF
    spiller = ""
    Spiller = recordset ("navn")
        <!-- Response.Write Recordset ("navn") -->
    playerlist1.AddItem spiller
    Recordset.MoveNext
  Wend   
    Recordset.Close
    Connection.Close
    Set Recordset = Nothing
    Set Connection = Nothing
  %>       
          </select>
        </div>
Avatar billede keysersoze Guru
17. maj 2008 - 21:56 #3
jeg ville lave koden i codebehind - det er en rigtig god måde at splitte kode og markup på så det bliver mere overskueligt.
Avatar billede eqvaliser Nybegynder
17. maj 2008 - 22:11 #4
ahem...  host host.  den skal jeg hvist lige google..  codebehind...
Avatar billede keysersoze Guru
17. maj 2008 - 22:30 #5
tag og kig nogle artikler og video igennem fra http://www.asp.net/ - der er meget stor forskel på ASP og ASP.NET. Det du er i gang med lige nu er ASP.
Avatar billede eqvaliser Nybegynder
17. maj 2008 - 23:49 #6
løste problemet på en anden måde
lavede en ny side som talte antal poster den henter siden kalder vi bare find.asp
lavede en ny side som lavede html koden til listboxen kalder den bare listbox.asp

også kom det til tabellen..

        <div align="center">
          <select name="playerlist1" size=<!--#include file="find.asp"-->> <!--#include file="listbox.asp"-->
          </select>
        </div>

og det fungere såden set udemærket. lukker!
Avatar billede keysersoze Guru
18. maj 2008 - 00:25 #7
hold da op - magen til spagettikode skal man da vist så også lede længe efter.
Avatar billede eqvaliser Nybegynder
18. maj 2008 - 11:04 #8
godt og blandet, ligesom mallaco!
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