Duda sobre como mostrar en una web los campos en un input text obtenidos de una base de datos

El problema que tengo es este:
Mi web esta básicamente enlazada a una base de datos en access 97, y más o menos ya esta todo bien lo único que me falta solucionar es la opción de modificar desde el web.
Lo que hago es mostrar los campos de la tabla en un input text para poder cambiarles el valor y enviar el formulario a una página que me hace un update con los datos recogidos, y el problema viene al mostrar los campos en input text porque no me coge los espacios, es decir que si el campo es (oscar colomar) el solo me muestra (oscar) y no se que hacer para que me muestre los datos correctamente.
Espero que puedas ayudarme .
Muchas gracias de todas maneras

1 Respuesta

Respuesta
1
Normal que te pase eso, estas tomando un valor por un query y este solo toma la primera cadena de caracteres, lo que hacen todos es unir las `palabras con algún símbolo y después sustituir dichos símbolos por espacio con la opción REMPLACE
¿Pero yo como uno las palabras? Si yo no se que palabras son cada vez.
Ademas con los otros datos que saca de la tabla, que no se los paso por ningún query me pasa lo mismo.
<%
dim empresa, contacto, usuario
empresa=request.querystring("empresa")
contacto=request.querystring("contacto")
usuario=request.querystring("usuario")
' Nos conectamos a la base de datos
Set ob_con= Server.CreateObject("ADODB.Connection")
Set ob_rs=Server.CreateObject("ADODB.RecordSet")
ob_con.Open "usuarios"
sql="SELECT * FROM Clientes_registrados WHERE ( Empresa = '" &empresa & "')and (PersonaDeContacto='" & contacto & "') and (Usuario='" & usuario & "') "
ob_rs.Open sql, ob_con, adOpenDinamic, adLockOptimistic, adCmdText
%>
<form method="post" action="modificar3.asp" >
<TABLE BORDER=1>
<TR><th><b>Nombre campo</b></th><th><b>Datos</b></th></tr>
<% num_campos=ob_rs.Fields.Count
do while not ob_rs.eof
FOR Campo=0 TO num_campos -1 %>
<tr>
<td><b><%=ob_rs(Campo).Name %></b></td>
<td><input type=text size=40 name=<%=ob_rs(Campo).name %> value=<%=ob_rs(campo)%>></td>
</tr>
<% NEXT
ob_rs.MoveNext
LOOP %>
</table><br><br>
<table border=0 width=370><tr><td width=100% align=middle> <INPUT TYPE="submit" VALUE="guardar"></td></tr>
</table>
</form>
<% ob_rs.Close
ob_con.Close
%>
Pasa el código
Usa la función:
Replace(Request.QueryString("texto"), "+", " ")
El problema no viene al pasar los datos por el query el problema viene al pasar los datos de la tabla al formulario, porque sino la select no funcionaria, ¿no crees? Ademas he comprobado que el querystring me pasa los datos correctamente, he utilizado los métodos server.underencode("texto") y server.htmlencoder("texto") para solucionar lo del querystring. Pero sigue cortándome cuando llega a un espacio.
Perdona si soy pesado pero es que no tengo ni puta idea de que puedo hacer. ¿Con el método post como podría pasrle los valores de una tabla mostrada por pantalla? Bueno tu ya tienes el código,
Muchas gracias por todo
Muchísimas gracias! Si no hubiera sido por ti creo que nunca lo hubiera sacado porque mira que he buscado por todos los lados, y nada de nada. Ademas te has portao... porque no ha sido una solución nada fácil y por eso te voy a dar la valoración más alta, un excelente.
Y si no te molesta a partir de ahora cuando tenga un duda al primero que voy a acudir es a ti je je!
Muchas gracias de nuevo y si necesitas algo no dudes que intentare ayudarte. Hasta pronto
No podría ver la ASP en funcionamiento y en otra página el código para que vea así la linea que falla.
PD: Yo utilizaria un WHILE en vez de un FOR ya que la opcion de parada es -1 y es mejor que las comparaciones sean ascendentes y no aleatorias.
Intenta poner este código:
<td><input type=text size=40 name=<%=ob_rs(Campo).name %> value="<%=ob_rs(campo).value%>"></td>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas