Foros del Web » Programando para Internet » PHP »

Por q no modifica?

Estas en el tema de Por q no modifica? en el foro de PHP en Foros del Web. Hola salu2 foreros. hello la pregunta del dia tengo 2 pages una q muestra la edicion y otra q hace el proceso aqui las pongo ...
  #1 (permalink)  
Antiguo 11/01/2008, 12:35
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Por q no modifica?

Hola salu2 foreros.

hello la pregunta del dia tengo 2 pages una q muestra la edicion y otra q hace el proceso aqui las pongo a continuacion

Edita

Código PHP:
<?php include("conexion.php");

$reporte=$_GET['especificacion'];
$comprobar=$_GET['Submit'];
$delimplode=$_GET['seleccion'];

    if (
$comprobar) {
        
        
$lista implode(','$delimplode);
        
$lista2 mysql_query("DELETE FROM especificaciones WHERE id_especificaciones IN(".$lista.")");

        
$my_error mysql_error();
        
        if(
$my_error) {
            echo 
"Ha ocurrido un error al intentar borrar los registros. $my_error";
            } else {
            
?>
            <html>
            <head>
            <meta http-equiv="refresh" content="3;URL=esp_listado.php" />
            </head><body>
            <p>El campo <? echo $lista ?> fue borrado</p>
            </body></html>
            <? }        
    } else {
        
        
$seleccionar_reporte="SELECT especificaciones.id_especificaciones, especificacion, descripcion, tipos.tipos, desarrolladores.desarrolladores, cliente.clientes, recepcion, envio, revision1, envio_revision_1, rec_adec, envio_adec, estimado, demora_real FROM especificaciones JOIN tipos, desarrolladores, cliente WHERE especificacion='$reporte' AND especificaciones.tipo = tipos.id_tipos AND especificaciones.r_progress = desarrolladores.id_desarrolladores AND especificaciones.r_hd = cliente.id_clientes";
//        $seleccionar_reporte="SELECT especificaciones. FROM especificaciones WHERE especificacion='$reporte'";
        
$seleccionando_reporte=mysql_query($seleccionar_reporte);
        echo 
mysql_error();
        
$fila_reporte=mysql_fetch_array($seleccionando_reporte);
        
?>

<form method="post" action="esp_editando.php">
  <table width="518" border="1" cellspacing="0">
    <tr>
      <td width="39%">Especificacion:</td>
      <td width="61%">
      <input type="text" name="especificacion" value="<? echo $fila_reporte['especificacion']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Descripcion:</td>
      <td><input type="text" name="descripcion" value="<? echo $fila_reporte['descripcion']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Tipo:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['tipos']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>R. Progress:</td>
        <td><input name="r_progress" type="text" id="r_progress" value="<? echo $fila_reporte['desarrolladores']; ?>" size="50" /></td>
    </tr>
    <tr>    
      <td>R. HD:</td>
        <td><input name="r_hd" type="text" id="r_hd" value="<? echo $fila_reporte['clientes']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Recepcion:</td>
      <td><input name="recepcion" type="text" id="recepcion" value="<? echo $fila_reporte['recepcion']; ?>" size="50" />
      </td>
    </tr>
    <tr>
      <td>Envio:</td>
      <td><input name="envio" type="text" id="envio" value="<? echo $fila_reporte['envio']; ?>" size="50" />      
      </td>
    </tr>
    <tr>
      <td>1er. Revision:</td>
      <td><input name="revision1" type="text" id="revision1" value="<? echo $fila_reporte['revision1']; ?>" size="50" />      
      </td>
    </tr>
    <tr>
      <td>Envio 1er. Revision:</td>
      <td><input name="envio_revision1" type="text" id="envio_revision1" value="<? echo $fila_reporte['envio_revision_1']; ?>" size="50" />
      </td>
    </tr>
    <tr>
      <td>Recep. de Adecuacion:</td>
      <td><input name="rec_adec" type="text" id="rec_adec" value="<? echo $fila_reporte['rec_adec']; ?>" size="50" />
      </td>
    </tr>
    <tr>
      <td>Envio de Adecuacion:</td>
      <td><input name="envio_adec" type="text" id="envio_adec" value="<? echo $fila_reporte['envio_adec']; ?>" size="50" />
      
      </td>
    </tr>
    <tr>
      <td>Estimado:</td>
      <td><input type="text" name="estimado" value="<? echo $fila_reporte['estimado']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Real:</td>
      <td><input type="text" name="demora_real" value="<? echo $fila_reporte['demora_real']; ?>" size="50"  /></td>
    </tr>    
    <tr>
      <td></td>
      <td><div align="right">
      <input type="hidden" name="id_especificaciones" value="<? echo $fila_reporte['id_especificaciones']; ?>">
        <input type="submit" name="modifica" value="Modificar" />
        <input type="submit" name="borra" value="Borrar" />
      </div></td>
    </tr>
  </table>
</form>
<? ?>
Editando

Código PHP:
<?php
$dato
=$_POST['id_especificaciones'];

    include(
"conexion.php");
    
if (isset(
$_POST["modifica"])) {

$especificacion=$_POST['especificacion'];
$descripcion=$_POST['descripcion'];
$tipos=$_POST['tipo'];
$r_progress=$_POST['r_progress'];
$r_hd=$_POST['r_hd'];
$recepcion=$_POST['recepcion'];
$envio=$_POST['envio'];
$revision1=$_POST['revision1'];
$envio_revision_1=$_POST['envio_revision_1'];
$rec_adec=$_POST['rec_adec'];
$envio_adec=$_POST['envio_adec'];
$estimado=$_POST['estimado'];
$demora_real=$_POST['demora_real'];

    if(isset(
$dato)) {

        
$actualizar="UPDATE especificaciones SET especificacion = '$especificacion', descripcion = '$descripcion', tipo = '$tipos', r_progress='$r_progress', r_hd = '$r_hd', recepcion = '$recepcion', envio = '$envio', revision1 = '$revision1', envio_revision_1 = '$envio_revision_1', rec_adec = '$rec_adec', envio_adec = '$envio_adec', estimado = '$estimado', demora_real = '$demora_real' WHERE id_especificaciones='$dato'";
        echo 
"$dato";
        
mysql_query($actualizar);
        
        
$my_error mysql_error();
        
        if(
$my_error) {
            echo 
"Ha ocurrido un error al intentar hacer la modificacion. $my_error";
            } else {
            
?>
            <html>
            <head>
            <meta http-equiv="refresh" content="30;URL=esp_listado.php">
            </head><body>
            <p>La especificacion se ha actualizado correctamente</p>
            </body></html>
            <? }
        } else {
            
"Hubo un error al introducir el numero de especificacion";
            }
        }

    
if (isset(
$_POST["borra"])) {

     if(isset(
$dato)) {

        
$borrar="DELETE FROM especificaciones WHERE id_especificaciones='$dato'";
        
mysql_query($borrar);

        
$my_error mysql_error();

        if(
$my_error) {
            echo 
"Ha habido un error al intentar borrar los valores. $my_error";
        } else {
        
?>
        <html>
        <head>
        <meta http-equiv="Refresh" content="3;URL=esp_listado.php">
        </head><body>
        <p>La especificacion ha sido dada de baja satisfactoriamente</p>
        </body></html>
        <?    }
    } else {
        echo 
"Hubo un error al introducir el numero de especificacion";
        }
}
?>
<?php  mysql_close
($conexion); ?>
lo que aqui me esta haciendo es q le doy al boton editar despues de hacer unas modificaciones y cuando regreso a la pagina del listado. pum ya no existe el registro. cual es el error?. de antemano gracias.
  #2 (permalink)  
Antiguo 11/01/2008, 13:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Por q no modifica?

Tu problema es que tienes ambos botones submit, a la hora de enviarlos AMBOS se envían, entonces tu script, lo que hace es modificar primero y posteriormente borrar, por eso es que se desaparecen.

Saludos.
  #3 (permalink)  
Antiguo 11/01/2008, 13:33
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Por q no modifica?

mmmmmmm lo q pasas es q no borra por completo toda el regsitro solo borra 3 campos;
tipo r_progress r_hd

y al regresar al listado ya no aparece el registro pero si aparece en la base de datos. todo igual pero con valores en 0 de los 3 registros antes mencionados.
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 15:15.