Foros del Web » Programando para Internet » PHP »

Como saber si un ID esta repetido en una BD?

Estas en el tema de Como saber si un ID esta repetido en una BD? en el foro de PHP en Foros del Web. Hola mi pregunta es la siguiente, tengo una base con datos de usuarios, lo unico que guarda son numeros, ids de registros etc etc. Seria ...
  #1 (permalink)  
Antiguo 23/01/2008, 11:51
 
Fecha de Ingreso: septiembre-2007
Mensajes: 9
Antigüedad: 16 años, 7 meses
Puntos: 0
Como saber si un ID esta repetido en una BD?

Hola mi pregunta es la siguiente, tengo una base con datos de usuarios, lo unico que guarda son numeros, ids de registros etc etc.
Seria algo asi la base :

discos_id | usuarios_id
1 50
3 50
34 50
8 34
6 34
12 34

Bueno lo que quiero hacer y no me sale es:

usuarios_id tiene un id que se repite, 50, 34 etc.. yo necesitaria que en vez de tirarme en una tabla el 50 repetido 3 veces y el 34 repetido, que me acumule, si esta repetido, que no le de bola, o sea, que me diga
50,
34
4
6
al margen si hay mil de cada uno o solo 3.

esto es una especie de concurso que esoty armando para flowmi.com, bueno desde ya muchisimas gracias y saludos a atodos ya que siempre me han ayudado de manera satisfactoria.

Ale
  #2 (permalink)  
Antiguo 23/01/2008, 12:01
Avatar de cfranco  
Fecha de Ingreso: enero-2008
Ubicación: Barcelona - España
Mensajes: 182
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: Como saber si un ID esta repetido en una BD?

No te rompas el coco utiliza un auto_increment en cada id y listo
  #3 (permalink)  
Antiguo 23/01/2008, 12:04
 
Fecha de Ingreso: septiembre-2007
Mensajes: 9
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Como saber si un ID esta repetido en una BD?

Hola gracias por responder, pero son datos que voy metiendo a mano, o sea es uan tabla que la relaciono con tra desues para sacar estos resultados, no puedo usar autoincrement.

no hay forma de distinguir si un numero es igual en la base?

saludos
  #4 (permalink)  
Antiguo 23/01/2008, 12:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Como saber si un ID esta repetido en una BD?

Usa una consulta SELECT para ver si ya existe, en cuyo caso utiliza UPDATE para acumular, el nuevo valor o de lo contrario usas INSERT.

Saludos.
  #5 (permalink)  
Antiguo 23/01/2008, 12:18
 
Fecha de Ingreso: septiembre-2007
Mensajes: 9
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Como saber si un ID esta repetido en una BD?

Me parece que no queda claro lo que quiero hacer.
Necesito imprimir en la pagina los ids... nada mas que imprimirlos con un simple echo, pero que distinga cuantos hay de cada uno. Tendria que armar un script para que cuente, por ej: si hay

55
55
55
55

que me diga 55 nada mas... y no que me lo imprima 4 veces, solo necesito saber q existe una sola vez en la base, porque de esta forma puedo contar la cantidad de ids unicos y repito, no me interesa saber si hay 30 veces el numero 4... solo saber que hay un 4.. eso solo.

actualmente tengo esto.

$resultado = mysql_query("SELECT usuarios_id FROM $tabla ORDER BY usuarios_id ASC",$conexion);

while ($var = mysql_fetch_assoc($resultado)) {

echo $var['usuarios_id']."<br>";
}


espero haberme explicado bien
saludos y gracias por responder nuevamente.

Última edición por AlexArt; 23/01/2008 a las 12:20 Razón: para explicarme mejor..
  #6 (permalink)  
Antiguo 23/01/2008, 12:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Como saber si un ID esta repetido en una BD?

Utiliza la sentencia COUNT() en tu SELECT:
Código:
SELECT usuarios_id, COUNT(*) AS 'Total' FROM $tabla GROUP BY usuarios_id ORDER BY usuarios_id ASC
.
Saludos.
  #7 (permalink)  
Antiguo 23/01/2008, 13:16
 
Fecha de Ingreso: septiembre-2007
Mensajes: 9
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Como saber si un ID esta repetido en una BD?

Muchas gracias a Todos por responder, les cuento, lo solucione de esta forma:

mysql_select_db($base,$conexion);
$resultado2 = mysql_query("SELECT * FROM usuarios",$conexion);
print(mysql_num_rows($resultado2)); ?>


de esta forma me imprime lo que necesitaba.

saludos

tema cerrado.
  #8 (permalink)  
Antiguo 24/01/2008, 04:58
 
Fecha de Ingreso: septiembre-2005
Mensajes: 80
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Como saber si un ID esta repetido en una BD?

entonces la SQL que necesitas es SELECT DISTINCT usuarios_id FROM $tabla
el resultado de esa SQL ya automaticamente te filtra los repetidos
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 16:20.