Foros del Web » Programando para Internet » PHP »

se me repiten resultados........lo puedo evitar??

Estas en el tema de se me repiten resultados........lo puedo evitar?? en el foro de PHP en Foros del Web. pos na que tengo un problemilla,despues de hacer una consulta a la BD me aparecen algunos resultados repetidos(ya que estan repetidos en la DB)lo que ...
  #1 (permalink)  
Antiguo 02/08/2004, 15:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
se me repiten resultados........lo puedo evitar??

pos na que tengo un problemilla,despues de hacer una consulta a la BD me aparecen algunos resultados repetidos(ya que estan repetidos en la DB)lo que quiero es que no se repitan :( como lo podria hacer?gracias ;)
  #2 (permalink)  
Antiguo 02/08/2004, 16:05
 
Fecha de Ingreso: febrero-2004
Ubicación: horcon
Mensajes: 133
Antigüedad: 20 años, 2 meses
Puntos: 1
puedes ocupar DISTINCT valor
SELECT DISTINCT nombre from empleado;

pero si tienes un nombre jose y JOSE creo que te los tomaria como distintos
espero que te sirva..
saludos
__________________
pato
  #3 (permalink)  
Antiguo 02/08/2004, 16:49
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 4 meses
Puntos: 0
Cita:
Iniciado por cucox
puedes ocupar DISTINCT valor
SELECT DISTINCT nombre from empleado;

pero si tienes un nombre jose y JOSE creo que te los tomaria como distintos
espero que te sirva..
saludos
la sentencia es "select distinct row" para eliminar registros repetidos en forma total, lo que te ha señalado cucox está bien pero sólo para filtrar campos particulares, salu2
  #4 (permalink)  
Antiguo 03/08/2004, 01:46
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
gracias a los 2 :D
  #5 (permalink)  
Antiguo 03/08/2004, 01:53
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
me lanza un error :( lo tengo asi:

Código PHP:
"select distinct row personal.per_id,contratos.nombre from personal,contratos WHERE personal.per_id=contratos.contra_id AND nombre LIKE '%".$_GET[palabra]."%'"
que puede ser?

gracias :D
  #6 (permalink)  
Antiguo 03/08/2004, 02:08
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 20 años, 6 meses
Puntos: 5
quitale el row.
  #7 (permalink)  
Antiguo 03/08/2004, 02:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
si le saco el row :( se queda como si nada :(:(:( y me sigue repitiendo los resultados
  #8 (permalink)  
Antiguo 03/08/2004, 02:57
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 20 años, 6 meses
Puntos: 5
que error es?
  #9 (permalink)  
Antiguo 03/08/2004, 03:29
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
pues el que me da al poner row es este:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in etc...
  #10 (permalink)  
Antiguo 03/08/2004, 04:44
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 20 años, 6 meses
Puntos: 5
si puedes poner más código mejor.

Por ejemplo desde la conexión de la base de datos hasta que haces el mysql_num_row, sería interesante que lo pongas porque igual el fallo está un poco más arriba o más abajo.
  #11 (permalink)  
Antiguo 03/08/2004, 05:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Cada sistema de base de datos tiene sintaxis distinta. Siempre que te den una respuesta en los foros, verifica en el manual correspondiente la sintaxis, ya que muchas veces se responde deprisa y se producen erratas.

En tu caso, www.mysql.com/select

De todas formas, dices que te salen repetidos porque en tu BD los tienes repetidos. Con distinct tienen que ser todos los campos iguales para que los considere iguales. Si tienes 2 resultados con el mismo per_id, pero distinto nombre, distinct te los toma como distintos, y te muestra los 2.

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #12 (permalink)  
Antiguo 03/08/2004, 05:59
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
include("conecta.php");
{
$_pagi_sql = "select distinct row personal.nombre from personal,personal WHERE personal.per_id=personal.per_id AND personal.titulo LIKE '%".$_GET[palabra]."%'";
$query = mysql_query($_pagi_sql);
if(mysql_num_rows($query) == "0") {

asi esta el codigo :D es un sistema de busqueda para paginar uso el paginator :D
  #13 (permalink)  
Antiguo 03/08/2004, 07:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 20 años, 6 meses
Puntos: 5
prueba a poner esto
$_pagi_sql = "select DISTINCTROW personal.nombre from personal,personal WHERE personal.per_id=personal.per_id AND personal.titulo LIKE '%".$_GET[palabra]."%'";
  #14 (permalink)  
Antiguo 03/08/2004, 08:08
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
me sigue lo mismo :( repetido
  #15 (permalink)  
Antiguo 03/08/2004, 08:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
La forma de ver el mensaje de error de mysql_query() es con mysql_error() (www.php.net/mysql_error).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #16 (permalink)  
Antiguo 03/08/2004, 09:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
si pongo distinct row me lanza este error:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\appserv\www\buscar.php on line 7
Error en la consulta limitada. Mysql dijo: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '.tooodo lo que le pido en la consulta(personal etc...)
  #17 (permalink)  
Antiguo 03/08/2004, 14:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
up....up:(
  #18 (permalink)  
Antiguo 03/08/2004, 14:58
 
Fecha de Ingreso: febrero-2004
Ubicación: horcon
Mensajes: 133
Antigüedad: 20 años, 2 meses
Puntos: 1
IF (mysql_num_rows($query) == "0")
Sacale las comillas al cero onda asi..
IF (mysql_num_rows($query) == 0)
yo lo ago asi y no me tira error .- prueba haber que pasa ..
saludos
__________________
pato
  #19 (permalink)  
Antiguo 03/08/2004, 15:50
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
si saco las comillas no me da error :( pero me repite los resultados :(
  #20 (permalink)  
Antiguo 03/08/2004, 16:08
 
Fecha de Ingreso: octubre-2003
Mensajes: 153
Antigüedad: 20 años, 6 meses
Puntos: 5
Vamos a ver hay un par de cosas que no entiendo
include("conecta.php");
{
$_pagi_sql = "select distinct row personal.nombre from personal,personal WHERE personal.per_id=personal.per_id AND personal.titulo LIKE '%".$_GET[palabra]."%'";
$query = mysql_query($_pagi_sql);
if(mysql_num_rows($query) == 0) {

¿Para que haces un producto cartesiano con la misma tabla???????????

Para empezar pon esto:

$_pagi_sql= "select DISTINCTROW nombre from personal where titulo LIKE ".$_GET[palabra]."%'";
$query = mysql_query($_pagi_sql);
if(mysql_num_rows($query) == 0)

ESO NO DEBERIA DARTE NOMBRES IGUALES EN LA VIDA.
  #21 (permalink)  
Antiguo 03/08/2004, 16:35
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
sory lo de personal,personal es una cagada:P lo que hago es coger datos de dos tablas dinstintas en una realizo la busqueda y en la otra cojo los datos(titulo etc...)
  #22 (permalink)  
Antiguo 03/08/2004, 16:59
Avatar de HiTek  
Fecha de Ingreso: noviembre-2003
Ubicación: LF, Santiago.Chile
Mensajes: 217
Antigüedad: 20 años, 4 meses
Puntos: 0
SELECT DISTINCTROW * FROM `tabla`

saludos
  #23 (permalink)  
Antiguo 03/08/2004, 17:20
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
hiteck el problema es que cojo los dos de dos tablas :( no se como podria usarlo asi :(
  #24 (permalink)  
Antiguo 03/08/2004, 20:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Newphp ..

deberías preguntar en el foro de "Base de datos" .. sobre todo para que te orienten bien sobre el "INNERT JOIN" y afines .. creo que es lo que necesitas.

Si quieres movemos el mensaje a dicho foro (o preguntas nuevamente por allá .. tan sólo con que pongas la estructura de tus dos tablas y el tipo de consulta SQL que quieres hacer sobra .. el código PHP aquí no es lo relevante si todavía no obtienes unos resultados como esperas).

Un saludo,
  #25 (permalink)  
Antiguo 04/08/2004, 03:06
 
Fecha de Ingreso: mayo-2004
Mensajes: 571
Antigüedad: 19 años, 11 meses
Puntos: 0
ok,cluster cierra el hilo :D ahora lo pregunto de nuevo en el foro de base de datos ;D,gracias ;)
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 03:15.