Foros del Web » Programando para Internet » PHP »

Consulta para comparar que un valor no este repetido

Estas en el tema de Consulta para comparar que un valor no este repetido en el foro de PHP en Foros del Web. Como puedo hacer un consulta antes de mandar un formulario para ver si hay un campo repetido.. este formulario lo tengo que guardar en la ...
  #1 (permalink)  
Antiguo 23/09/2008, 11:57
 
Fecha de Ingreso: mayo-2008
Mensajes: 71
Antigüedad: 15 años, 10 meses
Puntos: 1
Pregunta Consulta para comparar que un valor no este repetido

Como puedo hacer un consulta antes de mandar un formulario para ver si hay un campo repetido..

este formulario lo tengo que guardar en la bd, pero si esta un campo repetido me tiene que marcar cual es...

el procedimiento que tengo es el siguiente,

creo el formulario le doy submit y me manda a otra pagina donde lo registra

ahora lo que quiero es que antes del submit me haga la comparacion.. y si esta uno repetido no memande a la otra pagina??

lo que necesito es saber como si se puede hacer una consulta sin recargar los datos del formulario... o de que otra forma se podria?
  #2 (permalink)  
Antiguo 23/09/2008, 12:07
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Consulta para comparar que un valor no este repetido

Haces un SELECT y revisas si devolvio algun campo con mysql_num_rows()

Código PHP:
<?php
$sql 
"SELECT username, email FROM usuarios WHERE username='$username' AND email='$email'";
$query mysql_query($sql) or die(mysql_error());
if(
mysql_num_rows($query)!=0) {
//error, el registro ya existe
}
else {
//procesamos
}
?>
  #3 (permalink)  
Antiguo 23/09/2008, 12:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 71
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta para comparar que un valor no este repetido

pero como le puedo hacer para que me haga la conulta antes de mandarlo a la otra pagina donde lo inserta..??

o afuerzas necesito recargar la pagina para que me haga la consulta?
  #4 (permalink)  
Antiguo 23/09/2008, 12:13
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Consulta para comparar que un valor no este repetido

En la pagina donde se supone que procesas el formulario, metes ese codigo.

Y dentro de el ELSE metes el codigo que tienes para insertar el registro a la BD.
  #5 (permalink)  
Antiguo 23/09/2008, 12:21
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Consulta para comparar que un valor no este repetido

Como dice Ronruby es la forma mas tipica, envias el formulario, haces la consulta de no existencia de la informacion, de no existir insertas de existir regresas al formulario con una clave de error y ahi la interpretas para desplegar que campo es el duplicado.

La otra opcion es enviar un hilo por ajax, con los campos a validar de parametros y dependiendo de la respuesta es lo que procederia.

Saludos
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #6 (permalink)  
Antiguo 23/09/2008, 12:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 71
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta para comparar que un valor no este repetido

Lo habia pensado asi.. pero si en el primer formulario puso uno que ya estaba repetido.. queria que no te dejara mandarlo a la otra pagina, en otras palabras que no le permitiera hacer el submit para que lo inserte, con esto haria que el usuario tubiera la opcion de corregirlo..

lo que entiendo es si se puede hacer la consulta antes de enviarlo??...

en php siempre e hecho consultas cunado una pagina es cargada con un submito cuando es avierta la pagina.. pero me gustaria poder hacer la consulta antes de mandar la informacion, bueno que la mande previamente comparada para ke no ahiga duplicidad
  #7 (permalink)  
Antiguo 23/09/2008, 12:28
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Consulta para comparar que un valor no este repetido

En ese caso usa AJAX para revisar si el usuario ya existe.

Hay muchisimos ejemplos sobre eso en los foros de AJAX.
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 23:18.