Foros del Web » Programando para Internet » PHP »

comprobar si registro existe, si no que inserte dato

Estas en el tema de comprobar si registro existe, si no que inserte dato en el foro de PHP en Foros del Web. Hola, estoy generando un numero de registro (num_registro en BD) este es mi codigo para generarlo no se si este bien @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: ...
  #1 (permalink)  
Antiguo 12/01/2016, 22:15
 
Fecha de Ingreso: marzo-2013
Mensajes: 72
Antigüedad: 11 años, 1 mes
Puntos: 0
comprobar si registro existe, si no que inserte dato

Hola, estoy generando un numero de registro (num_registro en BD)

este es mi codigo para generarlo no se si este bien

Código PHP:
Ver original
  1. <?php
  2. function generarCodigo($longitud) {
  3.  $key = '';
  4.  $pattern = '1234567890abcdefghijklmnopqrstuvwxyz';
  5.  $max = strlen($pattern)-1;
  6.  for($i=0;$i < $longitud;$i++) $key .= $pattern{mt_rand(0,$max)};
  7.  return $key;
  8. }
  9.  
  10. ?>

y depsues para insertarlo en bd lo meto en un input

Código PHP:
Ver original
  1. <input type="hidden" id="num_registro" name="num_registro"  value="<?php echo generarCodigo(6); ?>">


pero ya me causo varios problemas, resulta que me pone dos números de registro iguales, entonces solo se me ocurre que primero valide si ya existe ese mismo numero de registro, si ya existe, que no lo inserte pero que haga el mismo proceso para insertar uno que no sea igual, ya que lo envio con un


Código HTML:
Ver original
  1. <input type="button" ......  value="Enviar"/>
  #2 (permalink)  
Antiguo 13/01/2016, 00:04
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 2 meses
Puntos: 21
Respuesta: comprobar si registro existe, si no que inserte dato

¿Para qué necesitas generar un identificador único fuera de la base de datos?¿por qué no mejor que la base de datos genere uno al insertar el dato?
  #3 (permalink)  
Antiguo 13/01/2016, 00:15
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: comprobar si registro existe, si no que inserte dato

Al margen de que consultes en la BD si el código existe o de que puedas utilizar funciones de encriptación de PHP, podrías utilizar la marca de tiempo del instante en el que se inserta el nuevo registro en la base de datos, de este modo, no se repetiría debido a que la marca de tiempo se incrementa constantemente. Eso en el caso de que no quieras que los códigos sean correlativos, pues si ese fuera el caso, te bastaría con que el campo sea de tipo entero y autoincrementable.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 15/01/2016, 10:40
 
Fecha de Ingreso: marzo-2013
Mensajes: 72
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: comprobar si registro existe, si no que inserte dato

Gracias por sus respuestas pero el caso es que estoy haciendo do un registro a cursos, y ese número de registro tiene que ser exclusivo, ante todos los demás registros.
  #5 (permalink)  
Antiguo 15/01/2016, 12:18
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 2 meses
Puntos: 21
Respuesta: comprobar si registro existe, si no que inserte dato

Puedes configurar una tabla para que te genere un id único cada que ingreses un registro, no necesitas hacerlo de forma externa.

Etiquetas: insert-tabla, mysql+consulta, php+ajax+formularios
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 14:16.