![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
| |||
como puedo evitar repetir la introduccion de datos en mysql he tratado de entender como realizar esto, soy nuevo programando con php y mysql, lo que quiero sabes es como puedo evitar introducirel mismo dato en una tabla especifica, trate de hacer una consulta y de alli ir comparando con la que se quiere que introducir pero no me sale, les agrdesco su ayuda ![]() |
| ||||
Re: como puedo evitar repetir la introduccion de datos en mysql También funciona dandole el atributo de "key" pero es mejor "unique" si el campo no es una llave ligada a otra. Saludos
__________________ Maverickhunter Pepes |
| |||
grax por su sugerencias ![]() ![]() |
| ||||
Re: como puedo evitar repetir la introduccion de datos en mysql lo qque puedes hacer es por ejemplo si no quieres que se repita el email, en la base de datos pones en dicho campo "unique" y luego en el script donde procesas e insertas la informacion del formulario que ha rellenado el usuario, haz un tipo de comprobacion con un "if" que si la base de datos no te deja insertar campo, pues que te le salga al usuario un mensaje de error diciendo que el email que ha puesto ya está en uso i muestras el email por pantalla echo $email; o algo asi!
__________________ Quien no me pregunta no se entera!! |
| |||
Re: como puedo evitar repetir la introduccion de datos en mysql Un ejemplo: Código PHP: |
| ||||
Re: como puedo evitar repetir la introduccion de datos en mysql no se si es lo q estas buscando pero para no repetir por ejemplo el nick en mi bd utilizo esto... $comprobar=mysql_query("SELECT nick FROM usuarios WHERE nick='$_POST[nick]' "); if($nick_ok=mysql_fetch_array($comprobar)) { echo 'El Nick Que Ingresaste Ya Se Encuentra Registrado'; exit(); } salu2 |
| |||
Re: como puedo evitar repetir la introduccion de datos en mysql gracias por sus sugerencias!!! e tomado de todos y pude lograr mi objetivo, lo que hice fue que comverti el campo en "unique" asi ya no habia manera de que se repietiera el dato, utilice sesiones para guardar 1 variable para que puediera hacer una comparacion con pagina siguente ya que al introducir 1 dato aumenta las filas, condicione con un "if" al ser iguales marca error, y diferente te dice q si se introdujo el dato en la BD, les comparto el scrpit, son 3 paginas: -----uno.php------ <?php session_start() ?> <html> <head> <title></title> </head> <body> <form id="form1" name="form1" method="get" action="dos.php"> <table width="620" height="33" border="1"> <tr> <td width="144"><input type="text" name="dato" /></td> <td width="82"><?php $link = mysql_connect("localhost", "root", "password"); //selecciona base de datos mysql_select_db("base_datos", $link); //selecciona tabla $result = mysql_query("SELECT * FROM tabla", $link); //adquiere numeros en la variable $num_rows1 = mysql_num_rows($result); session_register("num_rows1"); echo "$num_rows1 Rows\n"; ?> </td> <td width="372"><input type="submit" name="Submit" value="Submit" /></td> </tr> </table> </form> </body> </html> ----dos.php---------------- <?php session_start() ?> <?php include("conexion.php"); $query = "INSERT INTO tabla ( dato ) VALUES ('".$dato."')"; $res = mysql_query($query); $usuarioid = mysql_insert_id(); ?> <html> <head> <title></title> </head> <body> <?php echo "$num_rows1 Rows"; ?> <?php $link = mysql_connect("localhost", "root", "password"); mysql_select_db("base_dato", $link); $result = mysql_query("SELECT * FROM tabla", $link); $num_rows2 = mysql_num_rows($result); echo ("<p></p>"); echo "$num_rows2 Rows\n"; if ($num_rows1 == $num_rows2) { echo ("<p>no inserto dato en la BD </p>"); } else { if ($num_rows1 != $num_rows2) { echo ("<p>insersion correcta </p>"); } } ?> </body> </html> ---------------conexion.php------------------ <? $hostname="localhost"; $username="root"; $password=""; $dbname="mantto"; mysql_connect($hostname,$username, $password) OR DIE ("<html><script language='JavaScript'>window.location.href ='error.php?err=bd'</script></html>"); mysql_select_db($dbname) or DIE ("<html><script language='JavaScript'>window.location.href = 'error.php?err=bd'</script></html>"); ?> |
| |||
![]() Hola, por error sobre una tabla he ejecutado la siguiente sentencia: ALTER TABLE `Fabricantes` ADD UNIQUE (`Nombre`) de manera que el campo Nombre de la tabla Fabricantes no pueda tener valores repetidos (este campo Nombre NO ES la clave primaria de la tabla). Mi pregunta es, ¿cómo puedo deshacer este cambio? ¿Hay alguna manera de cambiar esta propiedad sin tener que borrar ningún registro ni eliminar la tabla? Gracias. |