Foros del Web » Programando para Internet » PHP »

como obtener id de un update, asi como el mysql_insert_id lo obtiene del insert

Estas en el tema de como obtener id de un update, asi como el mysql_insert_id lo obtiene del insert en el foro de PHP en Foros del Web. Hola compañeros, tengo estos 2 archivos en php, que son para subir bajar archivos en php, lo he modificado a mis necesidades, solo cambie el ...
  #1 (permalink)  
Antiguo 23/12/2012, 16:11
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Pregunta como obtener id de un update, asi como el mysql_insert_id lo obtiene del insert

Hola compañeros, tengo estos 2 archivos en php, que son para subir bajar archivos en php, lo he modificado a mis necesidades, solo cambie el nombre de la tabla y cambie a update en vez de insert, ya que solo quiero ingresar 3 campos, porque si lo dejaba como insert, me insertaba los demas campos de empleado como vacio, cuando yo quiero es que esos tres campos se ingresen en un usuarios ya registrado.
pero al mento de hacer esto, no me funciona el bajar archivo, ya como se pueden dar cuenta, necesita del $id_archivo, y este valor, lo obtiene con el mysql_insert_id. leyendo manueles, entendi que el mysql_insert_id, solo funciona cuando hay una consulta insert, y como yo lo cambie a update, ya no funciona eso. Alguien podria dar,e una sugerencia de como darle solucion? porfavor.


subir_rar.php
Código PHP:
Ver original
  1. <?php
  2.    
  3.     require_once("autentificacion_empleado.php");
  4.  
  5. $codigo=$_SESSION["usua_empl"];
  6.  
  7.  
  8.     include("conexion_mysql.php");
  9.    
  10.     $si_subio=false;
  11.     $id_archivo="";
  12.    
  13.     if (isset($_FILES['archivo']) )
  14.     {
  15.         // application/msword ======> Word 2003,
  16.         // application/vnd.openxmlformats-officedocument.wordprocessingml.document ===========> Word 2007 and 2010
  17.         // application/vnd.ms-excel =======> Excel 2003
  18.         // application/vnd.openxmlformats-officedocument.spreadsheetml.sheet  =========> Excel 2007 and 2010
  19.            
  20.         // Cargar en un arreglo los formatos de archivos permitidos
  21.        
  22.         $tipos = array("application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
  23.         $maximo = 100204000;       
  24.         if (in_array($_FILES['archivo']['type'],$tipos))
  25.         {
  26.             if($_FILES['archivo']['size'] <= $maximo)
  27.             {
  28.                 $archivo = $_FILES["archivo"]["tmp_name"];
  29.                 $tamanio=array();
  30.                 $tamanio = $_FILES["archivo"]["size"];
  31.                 $tipo = $_FILES["archivo"]["type"];
  32.                 $nombre_archivo = $_FILES["archivo"]["name"];
  33.                 extract($_REQUEST);
  34.                 if ( $archivo != "none" )
  35.                 {
  36.                     $fp = fopen($archivo, "rb");
  37.                     $contenido = fread($fp, $tamanio);
  38.                     $contenido = addslashes($contenido);
  39.                     fclose($fp);
  40.                     $query = "UPDATE empleado set archivo='$contenido', nombre='$nombre_archivo', tipo='$tipo' where usua_empl='$codigo'";
  41.                     if (mysql_query($query))
  42.                     {          
  43.                         $si_subio=true;
  44.                         $id_archivo=mysql_insert_id();
  45.                     }
  46.                     else
  47.                     {
  48.                         $si_subio=false;
  49.                         echo mysql_error();
  50.                     }
  51.                 }else
  52.                 {
  53.                     echo "No fue posible subir el archivo";
  54.                     echo '<a href="index.php">Subir Otro Archivo</a><br > ';
  55.                 }
  56.                
  57.                 if($si_subio)
  58.                 {          
  59.                     echo '<a href="index.php">Subir Otro Archivo</a><br > ';
  60.                     echo "<a href="."bajar_archivo.php?id_archivo=".$id_archivo.">Descargar Archivo: ".$id_archivo."</a>";
  61.                 }
  62.             }
  63.             else
  64.             {
  65.                 echo "Tamanño de Archivo demasiado grande";
  66.             }              
  67.         } else
  68.         {
  69.             echo "El formato del archivo no es correcto Solo Word y Excel";
  70.         }
  71.     }
  72.     else
  73.             echo "No Ha seleccionado";
  74.  
  75.  
  76. ?>


bajar_archivo.php

Código PHP:
Ver original
  1. <?php
  2.    
  3.     include("conexion_mysql.php");
  4.    
  5.     $qry="Select * from empleado where usua_empl={$_REQUEST['id_archivo']}";
  6.     $res=mysql_query($qry) or die(mysql_error()." qry::$qry");
  7.     $obj=mysql_fetch_object($res);     
  8.     header("Content-type: {$obj->tipo}");
  9.     header('Content-Disposition: attachment; filename="'.$obj->nombre.'"');
  10.     print $obj->archivo;
  11.     mysql_close();
  12. ?>
  #2 (permalink)  
Antiguo 23/12/2012, 16:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como obtener id de un update, asi como el mysql_insert_id lo obtiene del i

Por lo que se ve de los campos que usas en las consultas, bastaría con sustituir por:
Código PHP:
Ver original
  1. $id_archivo = $codigo;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 23/12/2012, 16:56
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: como obtener id de un update, asi como el mysql_insert_id lo obtiene del i

Cita:
Iniciado por David Ver Mensaje
Por lo que se ve de los campos que usas en las consultas, bastaría con sustituir por:
Código PHP:
Ver original
  1. $id_archivo = $codigo;
Si ya he probado asi, pero no funciona. no captura ningun valor asi.
  #4 (permalink)  
Antiguo 23/12/2012, 17:27
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como obtener id de un update, asi como el mysql_insert_id lo obtiene del i

Si no hay ningún valor en $codigo el UPDATE tampoco puede funcionar. Revisa el contenido de esa variable.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 23/12/2012, 17:35
 
Fecha de Ingreso: noviembre-2011
Mensajes: 97
Antigüedad: 12 años, 5 meses
Puntos: 3
Respuesta: como obtener id de un update, asi como el mysql_insert_id lo obtiene del i

Cita:
Iniciado por David Ver Mensaje
Si no hay ningún valor en $codigo el UPDATE tampoco puede funcionar. Revisa el contenido de esa variable.
Pero sin funciona, cuando yo uso el update, y tengo esa varible $codigo, que representa un usuario en especifico, al hacer el update me inserta a ese usuaro, osea no esta vacion, pero no entiendo cuando hago la forma q tu propones, que tbm lo he usado, no funciona.
  #6 (permalink)  
Antiguo 23/12/2012, 17:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: como obtener id de un update, asi como el mysql_insert_id lo obtiene del i

¿Qué no funciona? ¿Qué sucede cuando pruebas lo que te indiqué?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: Ninguno
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 10:12.