Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/09/2004, 09:04
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 5 meses
Puntos: 144
Mejor pego el código, que me tengo que leer con detenimiento esa web, jajajaja (que ignorante soy, Dios mío):

Ahí va, por si puede servir de ayuda (he estractado la parte afectada, para no poner código innecesario):

<TABLE CELLSPACING="0" CELLPADDING="2" BORDER="0" WIDTH="90%">
<TR><TD ALIGN="CENTER">
<A HREF="articulos.asp" onMouseOver="window.status='Listado de articulos';return true;" onMouseOut="window.status='';return;"><IMG BORDER="0" SRC="img/concursoarticulos.gif" ALT="" WIDTH="220" HEIGHT="23"></A>
</TD></TR>
<TR><TD>
<%
'Miramos el querystring, y si es menor que 1
'mostramos la página con el listado de articulos TOP 10
if Request.Querystring("id")<1 then
Response.redirect "articulos.asp"
end if

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/miweb/pruebas/articulillosxx1020.mdb"))
SQL="SELECT * FROM articulos where id=" & Request.QueryString("id")
rs.Open SQL, oConn, 1, 3

'Si la base de datos contiene el registro seleccionado (la id igual al querystring), que haga lo que sigue a continuación
If Not rs.EOF then
'Que sume un hit a las veces que se ha visto este articulo
rs("hits")=rs("hits")+1
rs.Update

'Si han votado por la articulo cuya id es la del form oculto,
'que le sume 1 voto en la base de datos, para lo cual
'miramos si la sesión de la id correspondiente a ese articulo
'es distinta a true (lo que significa que no ha sido votada previamente),
'y si así fuera, le permitimos el voto
If session(rs("id"))<>true and Request.form("votar")="si" then
rs.Fields("votos")=rs.Fields("votos")+1
rs.Update
'Ponemos la sesión de esa id a true, una vez votado el articulo
'para que no sume un nuevo voto, si intenta volverla a votar
session(rs("id"))=true
end if
'ahora que siga haciendo lo siguiente, si la consulta no está vacía
%>

<!-- #include file="reemplazartexto.asp" -->

<TABLE ALIGN="CENTER" CELLSPACING="0" CELLPADDING="3" BORDER="0" WIDTH="100%">
<TR><TD>
<TD VALIGN="TOP">
<DIV ALIGN="JUSTIFY">
<B>T&iacute;tulo:</B> <%Response.Write AcomodarTexto(rs("titulo"))%><BR>
<B>Autor:</B> <%Response.Write AcomodarTexto(rs("autor"))%><BR>
<B>Art&iacute;culo:</B> <%Response.Write AcomodarTexto(rs("articulo"))%><BR>
<B>Votos recibidos:</B> <%Response.Write FormatNumber(rs("votos"),0,,,-1)%><BR><BR>
<%if session(rs("id"))<>true then%>
<FORM METHOD="POST" ACTION="articulo.asp?id=<%=rs("id")%>" NAME="votacion">
&nbsp; &nbsp; <INPUT TYPE="submit" CLASS="boton3" NAME="votacion" VALUE="Votar"><INPUT TYPE="hidden" NAME="votar" SIZE="4" VALUE="si">
</FORM>
<%else%>
Tu voto ha sido contabilizado. Gracias por participar.
<%end if%>
</DIV>
</TD></TR>
</TABLE>
<%
else
'Si está vacía la base de datos
Response.Write "<DIV ALIGN='CENTER'>La articulo seleccionado no est&aacute; en la base de datos.</DIV>"
end if
%>

<%
'Cerramos y limpiamos los objetos
rs.Close
oConn.Close
set rs=nothing
set oConn=nothing
%>

</TD></TR>
</TABLE>

<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR><TD WIDTH="33%">
<%'Si ha votado, que vaya dos páginas atrás
If request.form("votar")="si" then
%>
<A HREF="#" onClick="history.go(-2)" onMouseOver="window.status='P&aacute;gina anterior';return true;" onMouseOut="window.status='';return;"><IMG BORDER="0" SRC="img/volver.gif" WIDTH="13" HEIGHT="13" ALT="P&aacute;gina anterior"></A>
<%else%>
<A HREF="#" onClick="history.go(-1)" onMouseOver="window.status='P&aacute;gina anterior';return true;" onMouseOut="window.status='';return;"><IMG BORDER="0" SRC="img/volver.gif" WIDTH="13" HEIGHT="13" ALT="P&aacute;gina anterior"></A>
<%end if%>
</TD></TR>
</TABLE>

Gracias miles.