Comunidad de diseño web y desarrollo en internet online

actualizar registro en PHP

Citar            
MensajeEscrito el 16 Mar 2006 07:41 pm
realice un archivo actualizar.php en el cual tengo varios campos para actualizar, eligiendo un "Id" desde un menu y cambio los campos de ese "id".
Lo que quiero saber es como hacer para que al elegir el "Id ", ya aparezca en cada campo el valor que tiene esa variable a actualizar !. y de esta manera pueda dejar esa variable sin modificar en un campo que no lo necesite.
este es el codigo del archivo actualiazar.php

Código :

<HTML>
<BODY>
<?
mysql_connect("localhost","root","");

echo '<FORM METHOD="POST" ACTION="actualizar2.php">Id<br>';

$sSQL="Select id From ultimas Order By id";
$result=mysql_db_query("noticias",$sSQL);

echo '<select name="id">';

//Generamos el menu desplegable
while ($row=mysql_fetch_array($result))
{echo '<option>'.$row["id"];}
?>
</select>
<br>
Tipo</span>
  <span class="style2">
<input type="radio" name="tipo"  value="Casa">
Casa 
<input type="radio" name="tipo"  value="Departamento">
Depto  
<input type="radio" name="tipo"  value="Local">
Local 
<input type="radio" name="tipo"  value="Oficina">
Oficina 
<input type="radio" name="tipo"  value="Casa Veraneo">
Veraneo 
<input type="radio" name="tipo"  value="Otro">
Otro</span><br> 
<br>
<span class="style2"><strong>Metros Cuadrados:</strong>
<INPUT NAME="mts2" TYPE="TEXT" class="ancho3">
 mts <br>
<br>
<strong>Descripcion</strong><br>
<textarea name="descrip" class="descrip"></textarea>
<br>
<br>
<strong>Condicion</strong> </span><br>
<input name="condicion" type="radio" value="alquiler">
<span class="style2">Alquiler</span><span class="style5"></span><span class="style2">
<input name="condicion" type="radio" value="venta">
Venta 
<input name="condicion" type="radio" value="fondo de comercio">
Fondo de Comercio <br>
<br>
<strong>Ambientes</strong> <br>
1
<input name="ambientes" type="radio" value="1">
2
<input name="ambientes" type="radio" value="2">
3
<input name="ambientes" type="radio" value="3">
4
<input name="ambientes" type="radio" value="4">
5
<input name="ambientes" type="radio" value="5">
6 
<input name="ambientes" type="radio" value="6">
<br>
<br>
<strong>Barrio:</strong>
<INPUT TYPE="TEXT" NAME="barrio">
</span><br><br>
<span class="style2"><strong>Direccion</strong>
<INPUT TYPE="TEXT" NAME="direccion">
<strong>Piso</strong>
<INPUT NAME="piso" TYPE="TEXT" class="ancho">
<strong>Depto</strong>
<INPUT NAME="depto" TYPE="TEXT" class="ancho">
<br>
<br>
<strong>Localidad</strong>
<INPUT TYPE="TEXT" NAME="localidad">
<br>
<br>
<strong>Antiguedad:</strong>
<INPUT NAME="antig" TYPE="TEXT" class="ancho">
 a&ntilde;os <br>
<br>
<strong>Moneda: </strong><br>
Pesos
<input name="moneda" type="radio" value="pesos">
Dolares
<input name="moneda" type="radio" value="dolares">
<br>
<br>
<strong>Precio:</strong>
<INPUT NAME="precio" TYPE="TEXT" class="ancho2">
<br>
<br>

<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>
</div>
<div align="center"><a href="lectura.php">Menu</a></div>
</BODY>
</HTML>

Por maxi_lance

31 de clabLevel



Genero:Masculino  

Argentina

opera
Citar            
MensajeEscrito el 16 Mar 2006 08:16 pm
Entiendo lo que necesitas, yo usaria la misma página, por ejemplo

Código :


<?php
if(!isset($_POST["ok"])) //sino has usado el botón de Aceptar
{
  // pon aquí el código para selecionar el id, en el formulario usa en el action la constante $PHP_SELF para usar la misma página, así te ahorras páginas...
}
else
{
 // aca pon el resultado y el formulario
  $sSQL="Select id From ultimas where id = $_POST["id"]";
   ........
  //en tus campos harías algo como esto
  <INPUT NAME="piso" TYPE="TEXT" class="ancho" value="<?php echo $_POST["piso"] ?>"> //Nota que value es el valor en sí que escribes en tu campo de texto
}
?>


Espero te sirva... Ahora algunas sugerencias para hacer mejor tú código

a) No uses mayúsculas en el código
b) Pon el código de conexión a tu bd en un archivo externo y luego llamado con include("tuarchivoexterno.php"); es por norme de seguridad
c) Las br y otras etiquetas monarias, se usan así <br />, <hr />, etc...

Suerte!

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell



Ultima edición por Aoyama el 16 Mar 2006 10:46 pm, editado 1 vez

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 16 Mar 2006 09:47 pm
sabes que no entiendo porque usar el IF, y probe cambiando esto

Código :

<INPUT NAME="piso" TYPE="TEXT" class="ancho" value="<?php echo $_POST["piso"] ?>">

pero no me aparece nada, sigue en blanco el campo.

Cuando quise cambiar el

Código :

sSQL="Select id From ultimas where id = $_POST["id"]";
me tira error

Sera porque no hice el IF ??

Por maxi_lance

31 de clabLevel



Genero:Masculino  

Argentina

opera
Citar            
MensajeEscrito el 16 Mar 2006 10:13 pm

maxi_lance escribió:

sabes que no entiendo porque usar el IF, y probe cambiando esto

Código :

<INPUT NAME="piso" TYPE="TEXT" class="ancho" value="<?php echo $_POST["piso"] ?>">

pero no me aparece nada, sigue en blanco el campo.

Cuando quise cambiar el

Código :

sSQL="Select id From ultimas where id = $_POST["id"]";
me tira error

Sera porque no hice el IF ??
NO leí nada de lo demás, pero algo curioso es que yo pensé que las variables en php eran prcedidas de un signo de dolar ($), algo como $sSQL = "";

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 16 Mar 2006 10:48 pm
En efecto pedro, en efecto... un pequeño error de teclado que ya he corregido, maxi_lance, te recomiendo que estudies más a fondo php, mi error de teclado no era gran cosa y es fácilmente identificable... U_U sólo un consejo... saludos!

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 16 Mar 2006 10:48 pm
esto "sSQL=" no significa que no lo haya puesto en mi archivo ! solo que lo copie y pegue del codigo que me has escrito para que lo entiendas!

y quedate tranquilo porque lo que tu piensas sobre las variables en PHP es cierto, no es para nada curioso !
8)

Por maxi_lance

31 de clabLevel



Genero:Masculino  

Argentina

opera
Citar            
MensajeEscrito el 17 Mar 2006 05:38 am
Pues segun lo que yo entendi lo que necesitaba era mostrar el registro alamacenado en el campo del formulario a la hora de "actualizar" los valores.
Segun esto, la cadena

Código :

//en tus campos harías algo como esto
  <INPUT NAME="piso" TYPE="TEXT" class="ancho" value="<?php echo $_POST["piso"] ?>">

igual le va aseguir mostrando un campo vacio, dado que $_POST["valor"] no ha sido ingresado...a menos que regrese de haber llenado mal el formulario..un boton de retrocer o algo asi.
Creo que lo que se buscaba mas era ver los campos cuando se vaya a actualizar, osea, mostar un valor que ya este guardado en la BD.

Código :

//en tus campos harías algo como esto
  <INPUT NAME="piso" TYPE="TEXT" class="ancho" value="<?php echo [b]$fila["piso"][/b] ?>"> 

Pues creo yo...depronto eso no era, pienso yo que era asi la cosa.
Saludos

Por JuDaS

105 de clabLevel



Genero:Masculino  

Bogota, Colombia

firefox
Citar            
MensajeEscrito el 17 Mar 2006 02:18 pm
Mmm... ustedes se complica por algo muy simple... te voy a poner un ejemplo vivo, esto es algo que estoy haciendo ahorita, usalo como ejemplo y entederas mejor lo que trate de decirte...

Código :

echo "<h2>Edici&oacute;n de datos</h2>";
         if(!isset($_POST["ok2"])) //sino he pulsado ok
         {
            echo "<p>Seleccione un contacto:";
            echo "<form name='busca' method='post' action='$PHP_SELF'>"; //uso $PHP_SELF para no usar una segunda página
               echo "<select name='selecciona'>"; // creo un combo con todos los id y nombres de contacto
               $sql_sel = "select * from tblmkt01 where mktidu01 = $_GET[usr]"; //Esto viene del menú de selección de opciones
               $res_sel = mysql_query($sql_sel, $link);
               while($row_sel = mysql_fetch_array($res_sel))
               {
                  echo "<option value='$row_sel[mktidv01]'>$row_sel[mktnom01]</option>";
               }
               echo "</select>";
               echo "&nbsp;&nbsp;&nbsp;<input type='submit' name='ok2' value='Encontrar' /></p>"; // Aquí está el botón OK
            echo "</form>";
            echo "<p><a href='index.php?mlogin=$login&mclave=$clave&back=1'>Regresar al men&uacute; principal</a></p>";   
         }
         else //si ya pulse el botón OK...
         {
            if(!isset($_POST["ok2_2"])) // si no he pulsado el botón OK del formulario de edición de datos...
            {
               $sql_ed = "select * from tblmkt01 where mktidv01 = $_POST[selecciona]"; //hago mi SQL usando la id que ya seleccione en el paso anterior
               $res_ed = mysql_query($sql_ed, $link);
               $row_ed = mysql_fetch_row($res_ed); // guardo el registro
               echo "<form name='edita' method='post' action='$PHP_SELF'>";
               echo "<input type='hidden' name='id_e' value='$_POST[selecciona]' />"; //aquí uso la id como un campo hidden
               echo "<table border='0' cellspadding='2' cellspacing='2'>";
                                        echo "<tr><td>Nombre :</td>";
               echo "<td><input type='text' size='50' maxlength='200' name='nombre_e' value='$row_ed[2]'/></td></tr>"; //aquí uso el campo nombre que almacene en mi array...
                                        .......
                                       .........
                                }
                               ..........


Judas, la variable $filas no existe en ninguna parte del código de nuestro amigo.
maxi lance, aunque hayas copiado y pegado, no quiere decir que no deberías revisar el código antes de ejecutarlo, sólo por sí acaso se ha pasado algo...

Repito, es sólo un ejemplo, adaptalo y usalo a tu conveniencia.

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 17 Mar 2006 07:33 pm
Ah ni si, $filas es solo para indicale que haga referencia a ese valor de la BD...el que retorna en el while....la verdad es que me dio fisica pereza ponerlo todo, solo era para aclarar (como ya esta en tu anterior post) como hacer antes de pulsar oK y despues de pulsar Ok, eso era todo.

Por JuDaS

105 de clabLevel



Genero:Masculino  

Bogota, Colombia

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.