Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/06/2008, 10:29
Avatar de Enishy
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