Foros del Web » Programando para Internet » PHP »

Como comprobar si existe clave primaria?

Estas en el tema de Como comprobar si existe clave primaria? en el foro de PHP en Foros del Web. Como puedo comprobar si en mi tabla ya existe una clave primaria,y si existe que me envie un alert diciendo,clave ya existe y que me ...
  #1 (permalink)  
Antiguo 13/03/2006, 17:45
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Como comprobar si existe clave primaria?

Como puedo comprobar si en mi tabla ya existe una clave primaria,y si existe que me envie un alert diciendo,clave ya existe y que me envie nuevamente al formulario de ingreso.

esto es lo que quiero.
si un usuario ingreso el codigo 100.entonces que el segundo usuario no pueda ingresar el codigo 100,y que un alert me diga que el codigo ya existe,y que se ingrese otro.y que el usuario quede nuevamente en el formulario de ingreso,para que ingrese otro codigo.

Como lo puedo hacer?
gracias

Aqui me conecto e ingreso los datos a mi tabla juego,y es en donde necesito realizar la comprobacion si se repite una clave.
Código PHP:
<?php
   $codigo               
=  $_POST["codigo"];
   
$nombre               =  $_POST["nombre"];
   
$apellido             =  $_POST["apellido"];

//conexion al servidor
 
include("/conexion/conexion.php");
//seleccion de base de datos y ejecucion de sentencia sql
mysql_db_query("juegos","insert into juego (codigo,nombre,apellido) values
('$codigo','$nombre','$apellido')"
);







//cierre de la conexion a la base de datos
mysql_close();


echo 
"<script>";
echo 
"alert('registro ingresado')";
echo 
"</script>";
?>
  #2 (permalink)  
Antiguo 13/03/2006, 18:02
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
FAQ:

¿Cómo evitar guardar registros duplicados en mi BD?


¿no te sirve? ...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 13/03/2006, 18:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Hola

debes comprobar si existe el codigo antes de insertar tus datos en la BD, prueba este codigo:

Código PHP:
//<?
$sql 
"SELECT * FROM juego WHERE codigo='".$codigo."'";
$query mysql_query($sql);
$num mysql_num_rows($query);
if(
$num >= 1) {
echo 
'<script>';
echo 
'alert(\'El codigo ya existe\')';
echo 
'history.back();';
echo 
'</script>';
}
  #4 (permalink)  
Antiguo 13/03/2006, 19:48
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
En esta parte me realiza bien la comprobacion en la base de datos,y me muestra el mensaje de rut duplicado en el caso que exista,pero el alert aparece,cuando quito esta linea echo 'history.back();';,pero,si agrego esa linea echo 'history.back();';,no me redirecciona al formulario de ingreso.
como lo puedo solucionar?
gracias

Código PHP:
$busquedamysql_db_query("ventas","SELECT codigo
 FROM juego WHERE codigo='$codigo'"
);

if(
mysql_num_rows($busqueda)>0)
{
echo 
"<script>";
echo 
"alert('codigo Duplicado')";
echo 
'history.back();';
echo 
"</script>";
}

else
{
mysql_db_query("ventas","insert into juego (codigo) values
('$codigo')"
);

mysql_close();


echo 
"<script>";
echo 
"alert('registro ingresado')";
echo 
"</script>";

  #5 (permalink)  
Antiguo 13/03/2006, 19:51
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Pregunta

Tienes la certeza de que este entrando al primer if?
  #6 (permalink)  
Antiguo 13/03/2006, 20:00
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Si entra al primer if,porque si quito esta linea echo 'history.back();'; en el script,me muestra correctamente el mensaje de alerta('rut duplicado'),pero despues del alert necesito que me redireccione al formulario de ingreso.Y eso no me resulta.
  #7 (permalink)  
Antiguo 13/03/2006, 20:45
okram
Invitado
 
Mensajes: n/a
Puntos:
tienes razon -thor-, el script que t mande tiene un error, disculpa... le falta un ; despues del alert, asi:

Código PHP:
$busquedamysql_db_query("ventas","SELECT codigo 
 FROM juego WHERE codigo='$codigo'"
); 

if(
mysql_num_rows($busqueda)>0

echo 
"<script>"
echo 
"alert('codigo Duplicado');"
echo 
'history.back();'
echo 
"</script>"


else 

mysql_db_query("ventas","insert into juego (codigo) values 
('$codigo')"
); 

mysql_close(); 


echo 
"<script>"
echo 
"alert('registro ingresado');"
echo 
"</script>"

asi si funciona
  #8 (permalink)  
Antiguo 13/03/2006, 20:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
gracias okram,ahora ya funciona el codigo.
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:32.