Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2005, 22:32
m16u3l
 
Fecha de Ingreso: mayo-2005
Mensajes: 9
Antigüedad: 19 años
Puntos: 0
arrojar mensaje cuando se repite la PK

hola ,estoy haciendo un formulario en el cual me ingrese datos pero con una variable que es clave primaria(la variable codigo)los datos los ingresa bien a mysql y cuando un codigo se repite no lo ingresa pero yo quiero que cuando un codigo se repita en la base de datos arroje el mensaje "codigo repetido (inserte otro)"
pero eso no me resulta como puedo hacerlo para que salga el mensaje.

este es mi codigo
Código:
<?
if($nombre==" " and $edad==" " and codigo==" ")
{
echo "<center><b>no deje campos en blanco</center></b>";
}
else
{
if($ingreso==true and $nombre==true and $edad=true and $codigo==true)
{
mysql_connect("localhost","root","");

$consulta=mysql_db_query("clientes","select codigo from cuenta where codigo='$codigo'");
  if($consulta==$codigo)
{
  echo"<center> codigo repetido (inserte otro)</center>";
}

mysql_db_query("clientes","insert into cuenta (nombre,edad,codigo)values('$nombre','$edad','$codigo')");

mysql_close();
echo"<b><center>registros ingresados</center></b>";
echo"<br><br><a href=index.html><center>volver</center></a>";
}
else  {
echo "debe ingresar datos<br>";
echo"<br><br><a href=index.html><center>volver</center></a>";
}}
a mi codigo le agregue esto que me dieron de idea en otro foro pero no me resulta y no me arroja el mensaje que diga que el codigo se repite ,como puedo solucionarlo o que esta mal en mi codigo

esto es lo que me dieron de idea
Código:
if(@trim($HTTP_POST_VARS["nick"]) != "")
{
$sql = "SELECT id FROM usuarios WHERE nick='".$HTTP_POST_VARS["nick"]."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, nick escogido por otro usuario<br>";
echo "En 2 segundos serás redirigido a la página de registro...";
echo "<script language=\"javascript\">";
echo "setTimeout('location.href = \"registro.php\"', 2000)";
echo "</script>";
}

aqui se lo agregue a mi codigo y no me muestra el mensaje si un codigo se repite
Código:
<?
if($nombre==" " and $edad==" " and codigo==" ")
{
echo "<center><b>no deje campos en blanco</center></b>";

}
else
{
if($ingreso==true and $nombre==true and $edad=true and $codigo==true)
{
mysql_connect("localhost","root","");

if(@trim($HTTP_POST_VARS["codigo"]) != "")
{
$sql = mysql_db_query("clientes","SELECT codigo FROM cliente WHERE

codigo='".$HTTP_POST_VARS["codigo"]."'");

$result = mysql_query($sql);
if($row = @mysql_fetch_array($result))
{
echo "Error, codigo escogido <br>";
echo "<script language=\"javascript\">";
echo "setTimeout('location.href = \"index.html\"', 2000)";
echo "</script>";
} }


mysql_db_query("clientes","insert into cliente

(nombre,edad,codigo)values('$nombre','$edad','$codigo')");
   

mysql_close();
echo"<b><center>registros ingresados</center></b>";
echo"<br><br><a href=practica.html><center>volver</center></a>";
}//}
else  {
echo "debe ingresar datos<br>";
echo"<br><br><a href=practica.html><center>volver</center></a>";
}
}
gracias