Foros del Web » Programando para Internet » PHP »

como validar un campo para que no se repita en la bd

Estas en el tema de como validar un campo para que no se repita en la bd en el foro de PHP en Foros del Web. hola estoy tratando de validar un campo para que no se repita en mysql es una tabla de suscripcion el campo codigo no debe ser ...
  #1 (permalink)  
Antiguo 21/11/2006, 11:00
 
Fecha de Ingreso: enero-2006
Mensajes: 233
Antigüedad: 18 años, 3 meses
Puntos: 2
como validar un campo para que no se repita en la bd

hola
estoy tratando de validar un campo para que no se repita en mysql
es una tabla de suscripcion el campo codigo no debe ser igual, entonces al registrarce debe hacer la validacion si ya exixte uno igual no debe permitir registrasr debe mandar un error
estoy enpesando con php y mysql
les agradesco me digan como hacer esto
gracias
  #2 (permalink)  
Antiguo 21/11/2006, 11:27
 
Fecha de Ingreso: junio-2005
Mensajes: 146
Antigüedad: 18 años, 10 meses
Puntos: 0
por ejemplo:

Código PHP:
CREATE TABLE `marcas` (
  `
id_marcatinyint(3unsigned NOT NULL auto_increment,
  `
marcavarchar(255NOT NULL,
  `
url_logovarchar(255NOT NULL,
  `
lastchangetimestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  
PRIMARY KEY  (`id_marca`),
  
UNIQUE KEY `marca` (`marca`)
ENGINE=MyISAM AUTO_INCREMENT=

el punto es tener un unique key: por ejemplo
UNIQUE KEY `marca` (`marca`)
__________________
Edgar Nadal
  #3 (permalink)  
Antiguo 21/11/2006, 11:37
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
hola nancy 8120.

No pues la verdad, sólo con que el código sea una pk o si no es una pk le colocas el atributo unique, ya no te dejará duplicar el códigos y mucho menos el registro.

mejor dicho tu DB debe hacerlo solita.


Chau.
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 21/11/2006, 11:50
 
Fecha de Ingreso: enero-2006
Mensajes: 233
Antigüedad: 18 años, 3 meses
Puntos: 2
bueno la verdad yo queria que mandara el mensaje de error
y lo hice asi
<?php



$connection = mysql_connect("$servidor","$usuario","$clave") or die ("Cannot connect to server.");
$db = mysql_select_db("$basedatos", $connection) or die ("Could not select database.");
$sql = "SELECT * FROM cliente WHERE codigo='$codigo'";
$result = mysql_query($sql) or die("$text_noquery");
//if (!empty($codigo)) {
if (mysql_num_rows($result) != 0){
print ("error, codigo ya registrado");
?>
<br>
<a href="javascript:history.go(-1)">volver</a>
<?php


} else {

//phpinfo ();
//if ($_SERVER["REQUEST_METHOD"]=="POST"){
//print ($_SERVER["REQUEST_METHOD"]);

$connection = mysql_connect("$servidor","$usuario","$clave") or die ("Cannot connect to server.");
$db = mysql_select_db("$basedatos", $connection) or die ("Could not select database.");
$sql = "INSERT INTO cliente (nombre_e, nombre_c, codigo, password, direccion, pais, ciudad,telefono,cel, fax, email) VALUES ('$nombre_e','$nombre_c', '$codigo', '$password', '$direccion', '$pais', '$ciudad', '$telefono', '$celular', '$fax', '$email')";


$sql_result = mysql_query($sql) or die("$text_noquery");


$last_id=mysql_insert_id();
}
?>
y ya funciona lo que no se es que sea mas recomendable
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 20:49.