Foros del Web » Programando para Internet » PHP »

Cómo edito un campo cuyo valor se trae desde una tabla???

Estas en el tema de Cómo edito un campo cuyo valor se trae desde una tabla??? en el foro de PHP en Foros del Web. Hola a Todos!!! Tengo un gran problema que no he podido resolver, es el siguiente: Tengo una página web que trae varios datos desde una ...
  #1 (permalink)  
Antiguo 13/03/2004, 21:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
Cómo edito un campo cuyo valor se trae desde una tabla???

Hola a Todos!!!

Tengo un gran problema que no he podido resolver, es el siguiente:

Tengo una página web que trae varios datos desde una base de datos, esto lo hace ok.

Lo que necesito es que esos campos (con los datos traidos de la BD) puedan ser editables, pero no se cómo se hace!!!!!

Por ejemplo: (Datos de un alumno específico traidos de la tabla ALUMNOS)

Nombre: Andrea

Paterno: Pérez

Materno: Sáez

Nota: 10

etc.

Lo que quiero es que todos los campos que almacenan los datos sean editables, de modo de cambiar el valor, por ejemplo en vez de 10 cambiarlo por 5.0

Espero me puedan ayudar.

Gracias.

Yuki27
  #2 (permalink)  
Antiguo 13/03/2004, 23:35
 
Fecha de Ingreso: marzo-2004
Ubicación: Zaragoza
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Recoge los datos de la BD en un formulario, el cual, al mandarlo actualice los campos.

Sería algo así:

# Actualizar.php #
1. Hacemos la consulta a la DB (... mysql_query("SELECT ...)
2. Recogemos el resultado en un array ($row=mysql_fetch_assoc ...)
3. Introducimos los valores en un formulario (... <input name=nombre value=$row[campo] ...)
4. Actualizamos los registros que queramos
5. Enviamos el formulario (... method=POST action=actualizar1.php ...)

# Actualizar1.php #
1. Recogemos las variables del formulario de la página actualizar.php
2. Actualizamos los registros en la DB (... mysql_query("UPDATE tabla SET campo=$_POST[variable], ... WHERE id=$id", ...)

Espero que te sirva.

Saludos...vichu
__________________
Si su paciente se empieza a sentir mejor sin causa aparente, no descarte la curación.
(Ley de Murphy para médicos)
  #3 (permalink)  
Antiguo 14/03/2004, 08:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
ok...pero el problema es...

Hola vichu y a todos!!!

Vichu, la verdad es que ya había probado lo que señalaste, y funciona, pero lo que no señalé es que el problema lo tengo con los campos cuyo valor tiene un espacio. Me explico:

Nombres de un Alumno: Andrea Carolina

Apellido Paterno: Pérez

Apellido Paterno: Sáez

Entonces cuando traigo los valores en PHP lo hace ok, pero cuando le digo en el input que asigne el valor del nombre sólo almacena Andrea

Para que me entiendan les pongo mi código:



<?
...

while ($row = mysql_fetch_array($query))
{
$NOMBRES = $row['NOMBRES'];
$PATERNO = $row['PATERNO'];
$MATERNO = $row['MATERNO'];

}


echo $NOMBRES; (Lee ok -- Andrea Carolina)
echo $PATERNO; (Lee ok -- Pérez)
echo $MATERNO; (Lee ok -- Sáez)

?>

Pero si asigno $NOMBRES a un input sólo Lee Andrea!!!!!

<input name="nombresBD" maxlength=50 size=40 tabindex=1 value=<? echo $NOMBRES ?>>

Como dije anteriormente, sólo Lee Andrea!!!

En cambio con $PATERNO o $MATERNO no hay problema, es por eso que asumo que el espacio existente entre Andrea Carolina es el que genera el problema.

Alguien puede prestarme un poco de ayuda por favor????


Estoy super complicad

Espero sus respuestas.

yuki27
  #4 (permalink)  
Antiguo 15/03/2004, 20:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 134
Antigüedad: 14 años, 2 meses
Puntos: 0
Alguien me puede ayudar????

Hola a todos!!!

Les pido que por favor me ayuden...

Ya no se cómo solucionar lo que les señalé anteriormente.

Aquí va de nuevo:

Traigo unos datos de una tabla, nombres, apellido paterno, apellido materno, otros, de un alumno en particular.

El problema es que cuando traigo el nombre, por ejemplo:

Andrea Carolina y lo inserto en un input, sólo me lee Andrea y no Andrea Carolina y no se qué cómo solucionarlo. el código es:


while ($row = mysql_fetch_array($query))
{
$CLAVE = $row['CLAVE'];
$PATERNO = $row['PATERNO'];
$MATERNO = $row['MATERNO'];
$NOMBRES = $row['NOMBRES'];

}

Lo que necesito es que los datos traidos de la BD puedan ser editables, es por ello que luego de traerlos de la tabla los asigno a un input de manera que se pueda editar el (los) datos.

<input name="nombres" maxlength=20 size=15 tabindex=0 value=<? echo $NOMBRES ?>>


<input name="paterno" maxlength=20 size=15 tabindex=1 value=<? echo $PATERNO ?>>

etc.


Lo que no puedo solucionar es que el nombre que traigo es Andrea Carolina (si hago echo $NOMBRES, me da el resultado correcto), pero cuando lo asigno al input y luego lo veo en la pagina sólo me muestra Andrea (en vez de Andrea Carolina). Esto me pasa cada vez que hay un espacio entre los datos, porque con $PATERNO (por ejemplo Pérez) lo hace correctamente.

Espero que me ayuden por favor, es muy importante y ya no se cómo solucionarlo.


Ayuda, Ayuda por favor.

yuki27
  #5 (permalink)  
Antiguo 16/03/2004, 02:54
 
Fecha de Ingreso: marzo-2004
Ubicación: Zaragoza
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Supongo que dentro de un "<input type=text ..." no se aceptan los espacios, aunque no sé por qué, haber si alguien nos lo puede aclarar.

El caso es que cambiando esto:
Código PHP:
<input name="nombres" maxlength=20 size=15 tabindex=0 value=<? echo $NOMBRES ?>>
por esto otro:
Código PHP:
<textarea cols=15 rows=1 name=nombres><? echo $NOMBRES ?></textarea>
te debería funcionar.


Prueba y ya nos contarás.

Saludos...vichu
__________________
Si su paciente se empieza a sentir mejor sin causa aparente, no descarte la curación.
(Ley de Murphy para médicos)
  #6 (permalink)  
Antiguo 16/03/2004, 03:09
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 14 años, 7 meses
Puntos: 1
Pues no se, porque los inputs si que aceptan espacios, lo que si solos sacas un registro una linea no hace falta un while, si no machacas la variable.


deberias hacerlo asi,

<input name="nombres" maxlength=20 size=15 tabindex=0 value="<?=$row['NOMBRES']?>">


<input name="paterno" maxlength=20 size=15 tabindex=1 value="<?=$row['PATERNO']?>">

a ver si te sirve
saludos
  #7 (permalink)  
Antiguo 16/03/2004, 06:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El detalle de los "espacios" está en las comillas que hacen falta para cerrar el valor del value= .. en el primer ejemplo no los usaban (por eso el "nombre sólo" funcionaba) pero al meter una variable con espacios sólo se tomaría la primera palabra hasta el primer espacio .. por eso es necesario encerrarlo entre comillas como en el último ejemplo que pusieron.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:06.