Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mysqli_insert_id en un campo de texto

Estas en el tema de mysqli_insert_id en un campo de texto en el foro de PHP en Foros del Web. Graciassssssssssssssss xfxstudios Se soluciono quedo perfecto ahora voy a estudiar bien esto para futuras soluciones Muy amable por su ayuda Gracias a todos por aportar ...

  #31 (permalink)  
Antiguo 22/11/2015, 17:53
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: mysqli_insert_id en un campo de texto

Graciassssssssssssssss xfxstudios Se soluciono quedo perfecto ahora voy a estudiar bien esto para futuras soluciones
Muy amable por su ayuda

Gracias a todos por aportar su grano de conocimiento en solucionar mi problema.



Código PHP:
Ver original
  1. <?
  2.     include_once('conectar.php'); // Conexion
  3.     $conexion = mysqli_connect($dbhost,$dbuser,$dbpass,$dbdatabase) or die ('error');   // Verificar Conexión
  4.     if (!$conexion) {   die("Error de conexión: " . mysqli_connect_error());    }
  5.    
  6.    
  7.     if (isset($_POST['action']) && $_POST['action'] == 'add')
  8.     {
  9.        
  10.        
  11.     if (isset($_GET['idp']))    $idp = $_GET['idp']; // ID de Personas
  12.     $Nombre = $_POST['Nombre'];
  13.     $Apellido = $_POST['Apellido'];
  14.     $Anio = $_POST['Anio'];
  15.     $CodigoUnico = $_POST['CodigoUnico']; // AGREGE POR SI FALTA Y NADA
  16.  
  17.      //realizo la insercion de los datos pero dejando en blanco el campo CodigoUnico para su posterior actualizacion
  18.    
  19.     $inserta = $db->query("INSERT INTO Personas (Nombre,Apellido,Anio,CodigoUnico) VALUES ('$Nombre','$Apellido','$Anio','')");
  20.  
  21.  
  22.     //tomo la ultima id
  23.     $ultima = mysqli_insert_id($db);
  24.     //creo el codigo de esta
  25.     $dato = "COD-".$ultima;  
  26.  
  27.     //actualizo el campo correspondiente
  28.     $actu = $db->query("UPDATE Personas SET CodigoUnico = '$dato' WHERE id = '$ultima'");
  29.    
  30.    
  31.     if($actu){        
  32.    
  33.     echo "Listo";
  34.     echo "ID es: " . $ultima; // AQUI SOLO ME MUESTRA EL ID INGRESADO AL DB
  35.    
  36.     } else {
  37.     echo "Error: " . $SQL . "<br>" . mysqli_error($conexion);
  38. }
  39. }
  40. ?>
  41.  
  42.  <!DOCTYPE html>
  43.  <html>
  44.     <head>
  45.        <meta charset="utf-8">
  46.        <title>Test</title>
  47.     </head>
  48.     <body>
  49.         <form action="tes.php" method="post">
  50.         <input type="hidden" name="action" value="add">
  51.         <input type='hidden' name='submit' value='submit'>
  52.  
  53.          <input name="Nombre" type="text">
  54.          <input name="Apellido" type="text">
  55.          <input name="Anio" type="text">
  56.          <input name="enviar" type="submit">
  57.       </form>
  58.     </body>
  59.  </html>
  #32 (permalink)  
Antiguo 22/11/2015, 17:56
Avatar de 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 vas a utilizar la id como codigo del registro, pues deberias de dejarla tal como esta, sin agregar nada y donde la vallas a mostrar solo le agregas el resto

como se visualiza:
Código PHP:
Ver original
  1. //ejemplo
  2. $codigo = ".COD-".sprintf("%06d",$row['id']);
  3.  
  4. echo $codigo;
  5. //se mostraria por ejemplo COD-000001

en caso de busqueda y que el cliente escriba toda la cadena del codigo, ej COD-000001
Código PHP:
Ver original
  1. list($a,$b) = explode("-",$_POST['buscar']);
  2. $b = $db->query("SELECT * FROM tabla WHERE id = '$b'");

no se si me explique
__________________
[email protected]
HITCEL
  #33 (permalink)  
Antiguo 24/11/2015, 19:56
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 6
Respuesta: mysqli_insert_id en un campo de texto

Cita:
Iniciado por xfxstudios Ver Mensaje
si vas a utilizar la id como codigo del registro, pues deberias de dejarla tal como esta, sin agregar nada y donde la vallas a mostrar solo le agregas el resto

como se visualiza:
Código PHP:
Ver original
  1. //ejemplo
  2. $codigo = ".COD-".sprintf("%06d",$row['id']);
  3.  
  4. echo $codigo;
  5. //se mostraria por ejemplo COD-000001

en caso de busqueda y que el cliente escriba toda la cadena del codigo, ej COD-000001
Código PHP:
Ver original
  1. list($a,$b) = explode("-",$_POST['buscar']);
  2. $b = $db->query("SELECT * FROM tabla WHERE id = '$b'");

no se si me explique
Hola xfxstudios

Eso de los Ceros si me gusto bastante lo tomare mucho encuenta,
Supongo que %06d muestra seis digitos incluye el numero de id
es lo que entendi supongo que si quiero dos digitos uso asi %02d

con respecto a la busqueda aun no he creado la busqueda
pero lo que hago es ingresar a un campo de texto y supongo que
solo le dare que busque ese campo ya que contiene el codigo completo
en caso sea otro campo mas de busqueda pues ya tendre que ver como
hare eso pero con los ejemplos al menos ya tengo la pauta para futuras soluciones.

Muchas Gracias xfxstudios

Etiquetas: mysql+php
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 21:40.