Foros del Web » Programando para Internet » PHP »

Preguntar Si Registro Esta

Estas en el tema de Preguntar Si Registro Esta en el foro de PHP en Foros del Web. tengo tabla "usuarios" tiene registros "id, nombres", voy a ingresar un nuevo usuario y necesito validarle que no se repita por su id, sin necesidad ...
  #1 (permalink)  
Antiguo 25/11/2006, 13:14
Avatar de thepanchi_hc  
Fecha de Ingreso: junio-2005
Mensajes: 127
Antigüedad: 19 años, 5 meses
Puntos: 0
De acuerdo Preguntar Si Registro Esta

tengo tabla "usuarios" tiene registros "id, nombres", voy a ingresar un nuevo usuario y necesito validarle que no se repita por su id, sin necesidad de ir preguntando registro por registro, cual seria el query? gracias.
  #2 (permalink)  
Antiguo 25/11/2006, 13:32
Avatar de Lil_Crow  
Fecha de Ingreso: noviembre-2006
Mensajes: 12
Antigüedad: 18 años
Puntos: 0
De acuerdo Prueba con este código

No sé muy bien cómo asignas las Ids de los usuarios, pero creo que ésta sería la query:

<?php

[...] -- Aquí haces las conexiones pertinentes a la Base de datos
$id=$_POST['id']; //Aquí asignas a la variable el nuevo id del usuario
$result=mysql_query("select * from tblusuarios where id=".$id.");
while($linea=mysql_fetch_array($result)){
$repetido=1;
}
if ($repetido==1){
echo "La Id usuario ya ha sido utilizada, por favor, introduzca otra Id";
}

[...] -- Aquí escribes el resto del código
?>

Espero haberte ayudado.

Un saludo,

Lil_Crow
  #3 (permalink)  
Antiguo 25/11/2006, 22:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Sería más "óptimo" simplemente usan la función:

mysql_num_rows()
www.php.net/mysql_num_rows

Que nos cuenta el total de registros que nos arroja una consulta dada.



Código PHP:
$id=$_POST['id']; //Aquí asignas a la variable el nuevo id del usuario
$result=mysql_query("select * from tblusuarios where id=".$id.");
if (mysql_num_rows($result) == 1){
  echo "
existe";
} else {
  // Lo que tengas que hacer

Y la versión SQL:

Código PHP:
$result=mysql_query("select COUNT(*) from tblusuarios where id=".$id.");
$total=mysql_result($result,0);
if ($total == 1){
  echo "
existe";
} else {
  // Lo que tengas que hacer

Si realmente sólo necesitas ver si existe o no .. pero no requieres de procesar el resultado supuesto que arrojase, la versión "SQL" sería la más rápida en este caso. Pues el total que se arroja lo calcula "Mysql" .. y entrega sólo un resultado, mientras que la opción "PHP" (con mysql_num_rows()) es PHP quein "cuenta" los posibles resultados arrojados.

También podemos usar su equivalente en SQL: función (de Mysql): COUNT()

Por cierto .. ese campo "ID" no es "autonumérico"? .. lo creas tu "a mano"? .. Por qué si definieses un campo autonumérico no tendrías problemas por ese tema, en tal caso si no quieres "nombres" repetidos consultarías sólo por eso, aunque en SQL también puedes definir un campo con propiedad "UNIQUE" y si entra otro igual .. será Mysql quien "salte" con el error (a mi personalmente me gusta controlar ese tema a base de la consulta SQL pertinente más que esperar el "error" en sí, pero como validación extrema está bien usarlo también).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 26/11/2006, 16:28
Avatar de thepanchi_hc  
Fecha de Ingreso: junio-2005
Mensajes: 127
Antigüedad: 19 años, 5 meses
Puntos: 0
hey Custer muchas gracias brother!.
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 22:36.