Foros del Web » Programando para Internet » PHP »

No puedo actualizar ID?

Estas en el tema de No puedo actualizar ID? en el foro de PHP en Foros del Web. Quiero modificar el ID pero no lo hace, como tampoco ningun otro campo cuando cambio el ID; entiendo por qué no lo cambia (por el ...
  #1 (permalink)  
Antiguo 14/05/2009, 08:07
 
Fecha de Ingreso: mayo-2006
Ubicación: Ciudad de Buenos Aires
Mensajes: 78
Antigüedad: 17 años, 11 meses
Puntos: 2
No puedo actualizar ID?

Quiero modificar el ID pero no lo hace, como tampoco ningun otro campo cuando cambio el ID; entiendo por qué no lo cambia (por el WHERE id=$id), pero cómo podria hacer para cambiar tambien el ID en el mismo formulario? o tendria que hacer otro y cómo?

tengo esto:

Código PHP:
<?
include "conexion.php";
$id $_POST["id"];
if (!isset(
$accion))
    {
    
$result=mysql_query("SELECT * FROM biblioa WHERE id=$id",$conexion);
    if (
mysql_num_rows($result) == 0
    { echo 
"<b>ID Inexistente</b>"; } 
    else 
    {
        
$row=mysql_fetch_row($result);
        echo
"
<table width=100>
<tr>
  <form action=\"update.php?accion=guardar\" method=\"POST\">
  <b>ID:</b><br>
  <input type=\"text\" value=\"$row[0]\" name=\"id\"><br><br>
  <b>Título:</b><br>
  <input type=\"text\" value=\"$row[1]\" name=\"titulo\"><br><br>
  <b>Autor:</b><br>
  <input type=text value=\"$row[2]\" name=\"autor\" size=50><br><br>
  <b>Artículo:</b><br>
  <input type=text value=\"$row[3]\" name=\"articulo\" size=50><br><br>
  <b>Autor del Artículo:</b><br>
  <input type=\"text\" value=\"$row[4]\" name=\"autorart\" size=15><br><br>
  <b>Código:</b><br>
  <input type=\"text\" value=\"$row[5]\" name=\"codigo\" size=15><br><br>
  <b>Editorial:</b><br>
  <input type=\"text\" value=\"$row[6]\" name=\"editorial\" size=15><br><br>
  <b>Año:</b><br>
  <input type=\"text\" value=\"$row[7]\" name=\"anio\" size=30><br><br>
  <b>Observaciones:</b><br>
  <input type=\"text\" value=\"$row[8]\" name=\"observaciones\" size=100><br><br><br>
  <input type=\"submit\" value=\"Guardar\">
  </form>
  </tr>
  </table>
  </body>
  </html>"
;
}
}
elseif(
$accion==guardar){
  
$sql "UPDATE biblioa SET id='$id', titulo='$titulo', autor='$autor', articulo='$articulo', autorart='$autorart', codigo='$codigo', editorial='$editorial', anio='$anio', observaciones='$observaciones' WHERE id = $id";
  
$result mysql_query($sql);
  echo
"
  <html>
  <body>
  <b>Los datos han sido actualizados</b>
  </body>
  </html>"
;
}
include 
"cerrar_conexion.php";
?>
espero una ayudita, gracias!!!
  #2 (permalink)  
Antiguo 14/05/2009, 08:21
 
Fecha de Ingreso: abril-2009
Mensajes: 73
Antigüedad: 15 años
Puntos: 1
Respuesta: No puedo actualizar ID?

Casi siempre los ID son unicos, no actualizables, y una vez borrados, tampoco se repiten porque tienen la caracteristica de ser Autoincrementados.

Tampoco es buena practica de programacion dejar los ID al alcance del usuario.

Te sugiero que revises el diseño de tus tablas, y utilices el ID como identificador de la tupla, pero no de los datos de los libros, para eso puedes usar un codigo autogenerado o algun standar bibliotecario...entonces tu actualizacion seria

Código:
$qry = "UPDATE biblioa SET codLibro = '$variable',.........WHERE id=$id"
  #3 (permalink)  
Antiguo 14/05/2009, 08:21
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: No puedo actualizar ID?

No es recomendable dejar manipular los id de tablas a usuarios.
Esos son las llaves de tu tabla, lo que diferencia tus registros. No entiendo para que deseas cambiar el id de un registro ya creado. Podrias exponernos eso a ver si te podemos recomendar algo mejor?

Saludos

EDITADO:

Gran choque NickNitro
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 14/05/2009, 08:31
 
Fecha de Ingreso: mayo-2006
Ubicación: Ciudad de Buenos Aires
Mensajes: 78
Antigüedad: 17 años, 11 meses
Puntos: 2
Respuesta: No puedo actualizar ID?

Quiero modificarla porque quienes usarán la base usarán como ID un num. de registro que ya poseen, pero segun lo que me planteas, deberé agregar otro item para ese registro, y dejár el ID automatico. O qué me recomiendas?

saludos!
  #5 (permalink)  
Antiguo 14/05/2009, 08:46
 
Fecha de Ingreso: abril-2009
Mensajes: 73
Antigüedad: 15 años
Puntos: 1
Respuesta: No puedo actualizar ID?

Cita:
Iniciado por inorganico0 Ver Mensaje
deberé agregar otro item para ese registro, y dejár el ID automatico.

saludos!
Asi no tendrás problemas con sentencias de actualizacion, eliminacion o insercion de datos, porque estos seran unicos en tu tabla....saludos


the_web_saint: Si que fue durojajaja...saludos.
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:48.