9 messaggi dal 19 febbraio 2002
Salve ragazzi,
vi avverto che di asp capisco poco o niente è da un paio di settimane che mi cimento in tale linguaggio. Mi si è persentato davanti un problema magari stupidissimo ma per me è grossissimo.
Ho un database access con due tabelle una contiene i dati: ID, Titolo, Data, Txt, Cat mentre la seconda IDCat e CatID. Ora il problema:
Ho creato il form di immissione tramite tutto bene, tranne che il menù a tendina relativo alla Categoria invece che scrivermi sul data Base il valore CatID mi restituisce il valore dell'ID. C'è un modo per far si che il menù a tendina mi restituisca il valore CatID e non il valore IDCat?
Vi invio lo script del menù.

Vi ringrazio anticipatamente.
Alan

<!-- #include file=dsn.inc -->
<html>
<head>
<!-- #include file ="fontCss.inc" -->
<title>catT></title>
</head>
<body>
<center>
<table width=75%>
<%'get the records!

strsql="select * from [catT]"

rs.open strsql,mydsn

if rs.eof and rs.bof then%>
<tr>
<td>No records!</td>
</tr>
<%else

'do the paging - find what page we're on

If request.querystring("page") = "" Then

pageno = 1

Else

pageno = request.querystring("page")

End If

rs.pagesize = 10

totalpages = CInt(rs.pagecount)

'which page to work with

rs.absolutepage = pageno

If totalpages > 1 Then

'forward/next buttons

response.write"<tr><td>"

'see wether to write a previous

If pageno > 1 Then

response.write "<A href=catTlist.asp?page=" & pageno - 1 & ">previous</a> "

End If

'see if we're not at the last page!

If int(pageno) < int(totalpages) Then

response.write "<A href=catTlist.asp?page=" & pageno + 1 & ">next</a> "

End If

response.write("<BR>")

'do the page numbers

For A = 1 To totalpages

'check to see if it is the current page - write in red if it is

If Int(A) = Int(pageno) Then

Response.write "<font color=red>" & A & "</font> "

Else

Response.write "<A href=catTlist.asp?page=" & A & ">" & A & "</font></a> "

End If

Next

response.write"</tr></td>"

End If

x=0

'now display the records

For x = 1 To 10

If rs.EOF Then

'we're at the end of the recordset so exit..

Exit For

Else

'write the link to the detail screen %>
<tr>
<td>
<select name="categoria">
<option value="0">-seleziona la categoria-</option>
<option value="<%=rs("CatID")%>" selected><%=rs("CatID")%></option>
</select>
</td>
<td width="33%">
<%end if


next

end if%>
<%'clean up!

rs.close

set rs=nothing%>
</table>
</center></body></html>



1.818 messaggi dal 21 giugno 2001
Contributi
L'errore è qui

<option value="<%=rs("CatID")%>" selected><%=rs("CatID")%

nel value passi sempre CatID invece di Cat

Poi il ciclo che hai scritto non è corretto:

For x = 1 To 10

If rs.EOF Then

'we're at the end of the recordset so exit..

Exit For

Else

'write the link to the detail screen %>
<tr>
<td>
<select name="categoria">
<option value="0">-seleziona la categoria-</option>
<option value="<%=rs("CatID")%>" selected><%=rs("CatID")%></option>
</select>
</td>
<td width="33%">
<%end if


next

end if%>


In questo modo cicli per 10 volte, ma recuperi sempre lo stesso record. Devi scrivere

<code>
&lt;tr&gt;
&lt;td&gt;
&lt;select name="categoria"&gt;
&lt;option value="0"&gt;-seleziona la categoria-&lt;/option&gt;

&lt;%
If Not(rs.EOF) Then
Do while Not(rs.EOF)
%&gt;

&lt;option value="&lt;%=rs("Cat")%&gt;" selected&gt;&lt;%=rs("CatID")%&gt;&lt;/option&gt;

&lt;%
rs.MoveNext
Loop
End If
%&gt;

&lt;/select&gt;
&lt;/td&gt;
&lt;td width="33%"&gt;
</code>


Cia Cia
hyppos

www.teatrolabaracca.com

<code>
|--------------------------------------|
|<font color=white><b>in giro torte sol ciclos et rotor igni</b></font id=white>|
|--------------------------------------|
</code>

hyppos
<code> in giro torte sol ciclos et rotor igni</code>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.