Ver Mensaje Individual
  #18 (permalink)  
Antiguo 22/11/2015, 16:01
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: mysqli_insert_id en un campo de texto

si lo que quieres es que en el campo CodigoUnico este la id del registro que estas insertando, debes realizar un update a esa linea inmediatamente realizas la insercion de esta con, algo asi:

Código PHP:
Ver original
  1. include_once('conectar.php'); // Conexion
  2.     $conexion=mysqli_connect("localhost","user","password","db");
  3.  
  4.     {
  5.     echo "Error MySQL: " . mysqli_connect_error();
  6.     }
  7.  
  8.     if (isset($_GET['idp']))    $idp = $_GET['idp']; // ID de Personas
  9.     $Nombre = $_POST['Nombre'];
  10.     $Apellido = $_POST['Apellido'];
  11.     $Anio = $_POST['Anio'];
  12.  
  13.     //realizo la insercion de los datos pero dejando en blanco el campo CodigoUnico para su posterior actualizacion
  14.     $SQL = "INSERT INTO Personas (Nombre,Apellido,Anio,CodigoUnico) VALUES ('$Nombre','$Apellido','$Anio','')";
  15.  
  16.     if (mysqli_query($conexion,$SQL)) {
  17.    
  18.     //aqui obtengo la ulñtima id insertada
  19.     $last_id = mysqli_insert_id($conexion);
  20.    
  21.     //actualizo el campo correspondiente
  22.     $actu = "UPDATE Personas SET CodigoUnico = '$last_id' WHERE id = '$last_id'";
  23.            
  24.     echo "Listo";
  25.     echo "ID es: " . $last_id; // AQUI SOLO ME MUESTRA EL ID INGRESADO AL DB
  26.    
  27.     } else {
  28.     echo "Error: " . $SQL . "<br>" . mysqli_error($conexion);
  29. }

Código HTML:
Ver original
  1. <form action="tes.php" method="post">
  2. <input name="Nombre" type="text">
  3. <input name="Apellido" type="text">
  4. <input name="Anio" type="text">
  5. <!--<input name="CodigoUnico" type="text" value="COD<? echo $last_id;?>">-->  <=== PERO ESTO NO GUARDA EN EL DB
  6. <input name="enviar" type="submit">
  7. </form>

alli como puedes ver elimino del formulario el envio o intento de envio de un codigo no existente y realizo el update a la linea recien insertada agregandole como codigo el mismo id de ella (que creo es lo que necesitas sin que tenga algo de logica aclaro), pero deberia de ser asi, ya que como te indicaron, no te va a aparecer el ultimo id insertado porque no has realizado la query y aclaro, si quieres ver el ultimo id o anterior a la nueva insercion, deve realizar una nueva query que llame a ese ultimo registro, pero bueno tu sabras eso, intento con lo que te coloque alli
__________________
[email protected]
HITCEL