Foros del Web » Creando para Internet » Herramientas y Software »

Dreamweaver php/mysql - impedir que se dupliquen registros

Estas en el tema de Dreamweaver php/mysql - impedir que se dupliquen registros en el foro de Herramientas y Software en Foros del Web. Hola a todos/as, Pues esa es mi duda, no tengo ni idea de como impedir que se dupliquen registros al utilizar el insert de dreamweaver, ...
  #1 (permalink)  
Antiguo 31/03/2005, 06:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
Dreamweaver php/mysql - impedir que se dupliquen registros

Hola a todos/as,

Pues esa es mi duda, no tengo ni idea de como impedir que se dupliquen registros al utilizar el insert de dreamweaver, alguien tiene alguna idea? supongo que habrá que hacer un query a la base de datos para verificar si ese registro existe y si no es asi, insertarlo y en el caso contrario mostrar un mensaje de aviso pero... esto es justamente lo que no se hacer :(

estoy bajo php/mysql
  #2 (permalink)  
Antiguo 31/03/2005, 22:19
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 20 años, 9 meses
Puntos: 7
Tienes llave primaria en tu base de datos?

Chaop!
  #3 (permalink)  
Antiguo 31/03/2005, 23:29
Avatar de aristotelisco  
Fecha de Ingreso: marzo-2005
Ubicación: Oxnard CA USA
Mensajes: 151
Antigüedad: 19 años, 1 mes
Puntos: 0
Eso es cierto, tienes que asegurarte de que por lo menos haya un campo clave, con la finalidad de que sea único, y si esa llave es id, puedes agregar otro campo del tipo único, tal vez un teléfono o dirección de e-mail, así aseguras que no haya registros idénticos.
__________________
Atte:
Alex Reyes

www.alexreyes.net
  #4 (permalink)  
Antiguo 01/04/2005, 00:50
 
Fecha de Ingreso: febrero-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
si si, tengo un campo autonumerico unico y varios de texto, lo que quiero es que por ejemplo, se dé de alta un usuario y su NOMBRE (del campo nombre) no se duplique, es decir, que si alguien escogió de nombre de usuario "pepito" no pueda haber otro "pepito" registrado
  #5 (permalink)  
Antiguo 01/04/2005, 07:43
 
Fecha de Ingreso: enero-2005
Mensajes: 116
Antigüedad: 19 años, 3 meses
Puntos: 0
Hola Marino!
Según la fecha de ingreso, somos los 2 igual de novatos en esto. Pero yo también estoy trabajando con dreamweaver, php y mysql.
Tengo una bd cuya clave está formada por 3 campos: Doctor,Fecha y Hora_inicio.
Y si intentas insertar un registro en el que esos 3 campos coincidan con alguno de los registros almacenados en la BD, ya lanza un mensaje de error avisando de algo como 'Duplicate entry '6-2005-04-01-09:00:00' for key 1
'
En este caso intenté meter un registro con valor de doctor=6, fecha=2005-04-01 y hora_inicio=09:00. Y en la bd ya había un registro con esos valores en los 3 campos.
Para que te muestre esto tienes que capturar el error, de esta forma:
Código PHP:
...
$link mysql_connect("localhost","tu_nombre_de_usuario","tu_contraseña");
mysql_select_db("tu_base_de_datos",$link);
//Escribes la sentencia de insercion de los campos y sus valores correspondientes
$resultado mysql_query("INSERT INTO citas (Doctor,Fecha,Hora_inicio,Duracion,Paciente,Telefono) VALUES (".$doctor.",".$newFecha.",".$newHora.",".$duracion.",".$newNombre.",".$tlf.")",$link); 
// Ahora comprobamos que todo ha ido correctamente
//capturamos el posible error
$my_error mysql_error($link);
//Y visualizamos el resultado
if(!empty($my_error)) 

   echo 
"Ha habido un error al insertar los valores "$my_error."<br>"

else 
{
   echo 
"Los datos han sido introducidos satisfactoriamente <br>";

Espero que te sirva.
Un saludo
__________________
;-) lcrecarey
  #6 (permalink)  
Antiguo 01/04/2005, 16:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 39
Antigüedad: 19 años, 2 meses
Puntos: 0
gracias lcrecarey,

encontré una forma muy rapida de hacerlo , la explico aqui por si alguien le sirve:

aunque no guarda relación directa con mi proposito, se puede utilizar el comportamiento "verificar si el usuario existe" que ya viene integrado en DWMX 2004.
en vez de buscar un usuario, busca el registro en cuestión y en caso de existir se redirige a una pagina de error.

rapidito y sencillo, como a mi me gusta
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 19:49.