Foros del Web » Programando para Internet » PHP »

Guardar Ultimo ID en otra Tabla

Estas en el tema de Guardar Ultimo ID en otra Tabla en el foro de PHP en Foros del Web. Hola a todos. Tengo otra tabla en la que me gustaria guardar el ultimo ID o mejor dicho el ID creado, probe de esta manera ...
  #1 (permalink)  
Antiguo 26/12/2015, 17:06
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Guardar Ultimo ID en otra Tabla

Hola a todos.
Tengo otra tabla en la que me gustaria guardar
el ultimo ID o mejor dicho el ID creado, probe
de esta manera con el anterior ejemplo que esta
funcionando, y creo que no me resulto, espero
me puedan ayudar con este problemilla.

Lo que intente hacer. sin resultado
Código PHP:
Ver original
  1. <?php
  2.     // Insert query.
  3.     $query = 'INSERT INTO client_contact '
  4.            . ' (email_addr,target_date,action_step1,action_step2,action_step3)'
  5.            . '  VALUES (?,?,?,?,?)';
  6.            
  7.     // Obteniendo el ultimo ID
  8.     $ultima = mysqli_insert_id($conexion);
  9.     $dato = "COD-".$ultima;  
  10.     // Actualizo el campo correspondiente
  11.     $query2 = $conexion->query("UPDATE client_contact SET action_step2 = '$dato' WHERE id = '$ultima'");
  12.  
  13. // EL CAMPO action_step2 ES DONDE se guardara el codigo unico generado, que es un campo de texto.
  14.  ?>
Lo otro que podria ser es que muestre el ultimo id en un campo de texto
y lo guarde, pero como lo haria si eso pudiera ser una solucion, mas abajo
esta el ejemplo en funcion guarda el id con un UPDATE

Este es el codigo completo
Código PHP:
Ver original
  1. <?php
  2. date_default_timezone_set('America/New_York');
  3. $mode = $_REQUEST['mode'] ? $_REQUEST['mode'] : '';
  4. // Print the form.
  5. if (!$mode) {
  6.     ?>
  7.     <html>
  8.       <head>
  9.         <meta charset="utf-8"/>
  10.         <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"/>
  11.         <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  12.         <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
  13.         <script>
  14.             $(function() { $("#datepicker").datepicker() });
  15.         </script>
  16.         <style>
  17.           label { display:inline-block; width:100px }
  18.         </style>
  19.       </head>
  20.       <body>
  21.         <h1>Enter Your Action Items</h1>
  22.         <form method="post" action="form.php">
  23.           <div>
  24.             <label for="email_addr">Email Address:</label>
  25.             <input name="email_addr" type="text" maxlength="128" size="64"/>
  26.           </div>
  27.           <div>
  28.             <label for="target_date">Target Date:</label>
  29.             <input name="target_date" type="text" id="datepicker"/>
  30.           </div>
  31.           <div>
  32.             <label for="action_step1">Action Step 1:</label>
  33.             <input name="action_step1" type="text" size="64"/>
  34.           </div>
  35.           <div>
  36.             <label for="action_step2">Action Step 2:</label>
  37.             <input name="action_step2" type="text" size="64"/>
  38.           </div>
  39.           <div>
  40.             <label for="action_step3">Action Step 3:</label>
  41.             <input name="action_step3" type="text" size="64"/>
  42.           </div>
  43.           <input type="hidden" name="mode" value="submit_form"/>
  44.           <input type="submit" value="Submit"/>
  45.         </form>
  46.       </head>
  47.     </html>
  48.     <?php
  49. }
  50. // Process the form input.
  51. elseif ($mode == 'submit_form') {
  52.     // Form data.
  53.     $email_addr  = $_REQUEST['email_addr'];
  54.     $target_date = $_REQUEST['target_date'];
  55.     $step1       = $_REQUEST['action_step1'];
  56.     $step2       = $_REQUEST['action_step2'];
  57.     $step3       = $_REQUEST['action_step3'];
  58.  
  59.     // Convert target date into Y-m-d format:
  60.     $target_date = date('Y-m-d', strtotime($target_date));
  61.  
  62.     // Insert query.
  63.     $query = 'INSERT INTO client_contact '
  64.            . ' (email_addr,target_date,action_step1,action_step2,action_step3)'
  65.            . '  VALUES (?,?,?,?,?)';
  66.  
  67.     // Connect and execute.
  68.     $link = new mysqli('localhost', 'contactor', '987654321', 'test');
  69.     $stmt = $link->prepare($query);
  70.     $stmt->bind_param('sssss', $email_addr, $target_date, $step1, $step2, $step3);
  71.     $res = $stmt->execute();
  72.  
  73.     // Show the user if it worked or not.
  74.     if ($res) {
  75.         echo "Success! You have successfully entered your information!";
  76.     }
  77.     else {
  78.         echo "Oops, something went wrong!";
  79.     }
  80.  
  81.     // WUT? (This is for debugging; get rid of this, for production.)
  82.     if (!$res) {
  83.         echo "INSERT FAILED:\n\n";
  84.         var_dump($res);
  85.         exit;
  86.     }
  87. }
  88. ?>

Primera Tabla Que funciona perfecto
guarda el Codigo Unico mas el ID
Resultado en el campo de la tabla es:

COD-1
COD-2
COD-3
etc...
Nota: Los numeros son los ID
del autoincrement de la tabla (Personas)

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.     if (isset($_POST['action']) && $_POST['action'] == 'add')
  6.     {
  7.     if (isset($_GET['idp']))    $idp = $_GET['idp']; // ID de Personas
  8.     $Nombre = $_POST['Nombre'];
  9.     $Apellido = $_POST['Apellido'];
  10.     $Anio = $_POST['Anio'];
  11.     $CodigoUnico = $_POST['CodigoUnico']; // AGREGE POR SI FALTA Y NADA
  12.      //realizo la insercion de los datos pero dejando en blanco el campo CodigoUnico para su posterior actualizacion
  13.    
  14.     $inserta = $db->query("INSERT INTO Personas (Nombre,Apellido,Anio,CodigoUnico) VALUES ('$Nombre','$Apellido','$Anio','')");
  15.     //tomo la ultima id
  16.     $ultima = mysqli_insert_id($db);
  17.     //creo el codigo de esta
  18.     $dato = "COD-".$ultima;  
  19.     //actualizo el campo correspondiente
  20.     $actu = $db->query("UPDATE Personas SET CodigoUnico = '$dato' WHERE id = '$ultima'");
  21.     if($actu){        
  22.     echo "Listo";
  23.     echo "ID es: " . $ultima; // AQUI SOLO ME MUESTRA EL ID INGRESADO AL DB
  24.     } else {
  25.     echo "Error: " . $SQL . "<br>" . mysqli_error($conexion);
  26. }
  27. }
  28. ?>
  29.  
  30.  <!DOCTYPE html>
  31.  <html>
  32.     <head>
  33.        <meta charset="utf-8">
  34.        <title>Test</title>
  35.     </head>
  36.     <body>
  37.         <form action="tes.php" method="post">
  38.         <input type="hidden" name="action" value="add">
  39.         <input type='hidden' name='submit' value='submit'>
  40.  
  41.          <input name="Nombre" type="text">
  42.          <input name="Apellido" type="text">
  43.          <input name="Anio" type="text">
  44.          <input name="enviar" type="submit">
  45.       </form>
  46.     </body>
  47.  </html>

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 22:30.