Foros del Web » Programando para Internet » PHP »

¿Como modificar datos en un formulario?

Estas en el tema de ¿Como modificar datos en un formulario? en el foro de PHP en Foros del Web. Buenos días EJEMPLO: Yo lleno una base de datos por medio de un formulario que lo hace perfectamente, pero no hayo la manera de como ...
  #1 (permalink)  
Antiguo 10/06/2008, 09:19
 
Fecha de Ingreso: mayo-2008
Mensajes: 63
Antigüedad: 15 años, 11 meses
Puntos: 1
¿Como modificar datos en un formulario?

Buenos días

EJEMPLO:

Yo lleno una base de datos por medio de un formulario que lo hace perfectamente, pero no hayo la manera de como modificar si en tal caso debo modificar algo.

1) Ok yo se que parto (en este formulario) de que para modificar debo hacer con un campo clave en este caso el id.

2) Me gustaria tener un campo donde yo coloque el id y cuando presione buscar me busque el id y que en el formulario me aparezca todo lo referente en el id, de esta manera poderlo modificar(Obviamente con un update "SQL") y luego guardar (Obviamente con un insert "SQL")

PD. Estoy utilizando POSTGRES Y PHP

Muchisimas gracias
  #2 (permalink)  
Antiguo 10/06/2008, 10:29
Avatar de Enishy  
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: ¿Como modificar datos en un formulario?

Hola leonar2445 este es algo que uso y se asemeja a lo que tu necesitas...espero te sirva, aclaro que esta en MySQL pero te sera facil volverlo a PostgreSQL

1º tines que capturar el valor a buscar usando Sesiones(si desconoces esto lo que t mostrare no lo podras usar), la forma en la que captures ese valor a buscar depende de ti, yo use un formulario para hacer la busqueda y otro para mostrar el resultado.

Formulario Buscar.html este es un formulario muy sencillo en donde se ingresara el valor a buscar y sera enviado usando el metodo POST al formulario Mostrar.php

Cita:
<table width="600" border="0" cellpadding="3" cellspacing="1" align="center">
<form method="POST" action="Mostrar.php">
<tr>
<td colspan=2><p><strong>Registro de Excavaci&oacute;n :</strong>
<input type="TEXT" name="valor_a_buscar" size="30" style="border: 1px solid #7F9DB7;">
<input type="submit" value="BUSCAR" name="enviar">
<p>(Por eje. S/R1-C:2)</p></td>
</tr>
</form>
</table>

Formulario Mostrar.php Este es el formulario que hara todo el trabajo y son DOS PARTES la 1º realizara la busqueda del codigo ingresado en el formulario anterior la 2º mostrara los resultados segun el codigo asociado

Entonces capturo el valor enviado en una variable $codigo, luego si quieres retiras espacios en blanco con str_replace y lo guardas en la variable $search a continuacion haces tu consulta con la variable $search y por ultimo le asignas la variable de sesion, asi:
Código PHP:
session_start();
$codigo=$_POST["valor_a_buscar"];
$search str_replace(" ","%",$codigo);
$sql "SELECT * FROM tu_tabla WHERE tu_campo_tabla LIKE '%$search%' "
$rsmysql_query($sql,$DB) or die ("No existe coinsidencia en la busqueda");
$_SESSION['valor_a_buscar']=$search
Aqui la parte en la que realizas la consulta de los datos que quieres mostrar segun el codigo encontrado
Código PHP:
if(mysql_num_rows($rs)!=0){/*Si existe el elemento a buscar entonces mostrara resultados Si NO un mensaje respectivo*/

$sql =" Aqui tu consulta...SELECT..FROM...WHERE..AND tu_campo_tabla = '$search' "
$query=mysql_query($sql) or die ("Error SQL Mostrar");
$data=mysql_fetch_array($query);

.
.
}
else{
echo 
"No se encontraron resultados segun el codigo ingresado";

ahora algo importante para poder mostrar los datos en tu formulario necesitas hacer uso de los reusltado que estan en esta variable $data=mysql_fetch_array($query);

y hacer algo asi :

<input disabled type='text' style='border: 1px solid #7F9DB7;' size='44' value='$data[campo_tu_tabla]' />

AHORA.. para la actulizacion incluir en el mismo Formulario de Mostrar.php algo como esto

Cita:
<a href='ActualizarFormulario.php?mi_variable=$search'><img src='images/app_lists.png' width='32' height='32' border='0' title='Actualizar Ficha'></a>
como ya tenemos capturada $search en la variable de Sesion $_SESSION['valor_a_buscar'] entonces e smas facil el trabajo

ActualizarFormulario.php Aqui el formulario que realizara los cambios y te dejo un caso sencillo de como usarlo, tu debes acoplarloa tus necesidades, tengo la Tabla Categoria con 2 campos(codigo_catobjeto y nombre_categoria) mas adelante hago referencia a estos 2 campos a traves de numero en donde "0" sera codigo_catobjeto y "1" sera nombre_categoria

Código PHP:
session_start();

$mi_variable=$_SESSION['valor_a_buscar']

if (!isset(
$accion)){
  
$sql_cat"SELECT * FROM categoria_objeto WHERE codigo_catobjeto=$mi_variable"
  
$result=mysql_query($sql_cat) or die("Error Categoria");
  
$row=mysql_fetch_row($result);
  echo
"
  <html>
  <head><title>.::Editar Categoria::.</title></head>
  <body>
  <h3>Categoria de Objetos</h3><br>
  <form action=\"UpdateCategoria.php?accion=guardar\" method=\"POST\">
  <p>Actualiza Categoria:<br>
  <input type=\"text\" value=\"$row[1]\" name=\"nombre\"><br>
  <input type=\"hidden\" value=\"$row[0]\" name=\"id\"><br>
  <input type=\"submit\" value=\"Actualiza Categoria\">
  </form>
  </body>
  </html>"
;
}elseif(
$accion==guardar){
  
$sql_update="UPDATE categoria_objeto SET nombre_categoria = '$nombre' WHERE codigo_catobjeto = $id";
  
$result=mysql_query($sql_update) or die ("Error al Actualizar Categoria");
  echo
"
  <html>
  <body>
  <h3>Los registros han sido actualizados...</h3>
  </body>
  </html>"
;
 } 

Última edición por Enishy; 10/06/2008 a las 10:46
  #3 (permalink)  
Antiguo 06/01/2012, 07:53
 
Fecha de Ingreso: enero-2012
Mensajes: 2
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: ¿Como modificar datos en un formulario?

hola amigos que tal estoy en apuros yo estoy realizando un sistema con php y postgre necesito un gran ayuda porque no se como actualizar si me podrian guiar en este asunto lo mas pronto seria genial el sistema registra pero cuando busco tutoriales con respecto a esto no es tan facil...
  #4 (permalink)  
Antiguo 06/01/2012, 08:02
 
Fecha de Ingreso: enero-2012
Mensajes: 2
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: ¿Como modificar datos en un formulario?

este es donde yo quiero insertar los datos para que los actualice:

<table width="864" border="1" align="center" bordercolor="#4AA5FF" bgcolor="#B7DBFF" onfocus="MM_validateForm('nombre','','R','cedula', '','RisNum','apellido','','R','fecha-nacimiento','','R','celular','','R','edad','','Ris Num','mail','','RisEmail','cod-nomina','','RisNum','emergencia','','RisNum');retu rn document.MM_returnValue">
<tr bgcolor="#4AA5FF">
<td width="854" height="30" bgcolor="#4AA5FF">
<div align="center">
<p class="Estilo4">Ficha de registro</p>
</div>
</td>
</tr>
<tr>
<td height="184">
<fieldset>
<legend><span class="Estilo7">Amonestaciones</span> </legend>
<table width="818" border="0" align="center">
<tr>
<td width="440"><span class="Estilo21">Amonestaci&oacute;n:</span></td>
<td width="368"><span class="Estilo10">
<select name="amonest" id="amonest">
<option>seleccione una</option>
<option>verbal</option>
<option>escrita</option>
</select>
</span></td>
</tr>
<tr>
<td><span class="Estilo21">Observaci&oacute;n (motivo):</span></td>
<td><textarea name="motivo" cols="57" rows="1" id="motivo"></textarea></td>
</tr>
<tr>
<td height="21"><span class="Estilo21">Procedimientos administrativos: </span></td>
<td><textarea name="proc_adm" cols="57" rows="1" id="proc_adm"></textarea></td>
</tr>
<tr>
<td height="21">Fecha de amonestaci&oacute;n:</td>
<td><input type="text" name="fech_amon" id="fech_amon" /></td>
</tr>
</table>
<div align="center"> <span class="Estilo12">
<p><a href="/sistema en PHP/index.php"><strong>Inicio</strong></a></p>
<table width="200" border="0">
<tr>
<td width="61">
<label>
<input type="submit" name="Submit" value="guardar" />
</label>
</td>
<td width="80"><label>
<input name="limpiar" type="reset" id="limpiar" value="restablecer" />
</label></td>
<td width="45"><a href="update.php">actualizar</a></td>
</tr>
</table>
</a></div>
</fieldset>
</td>
</tr>
</table>
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:49.