Foros del Web » Programando para Internet » PHP »

Seleccion de ids

Estas en el tema de Seleccion de ids en el foro de PHP en Foros del Web. Buenas amigos, tengo el siguiente asunto...medio complicado! Resulta que estoy trabajando con dos tablas en una db, una de secciones, y otra de subsecciones, las ...
  #1 (permalink)  
Antiguo 26/04/2005, 15:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 6 meses
Puntos: 0
Seleccion de ids

Buenas amigos, tengo el siguiente asunto...medio complicado!

Resulta que estoy trabajando con dos tablas en una db, una de secciones, y otra de subsecciones, las distintas subsecciones tienen asignado un ID correspondiente a una seccion (id_sec) .
Lo que quiero averiguar es el primer id de cada grupo de subsecciones (agrupadas por el id_sec) .

Hize este query, llegue hasta aca despues de quemarme la cabeza un par de horas, pero no logro resolverlo!

SELECT id_subseccion FROM subsecciones INNER JOIN secciones ON subsecciones.id_sec = secciones.id_seccion

AYUDA POR FAVOOR!!!!
  #2 (permalink)  
Antiguo 26/04/2005, 15:41
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Mira no entiendo lo que quieres hacer aun, pero si te digo que no podras agrupar ya que los datos de cada subseccion varia.

El query que hiciste lo que hace es traer los datos que coincidan en id_sec entre tablas

Asi que porfavor amplia un poco mas y te puedo ayudar mas rapido.
  #3 (permalink)  
Antiguo 26/04/2005, 16:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias por tu respuesta dwaks!

El tema es asi: yo tengo secciones que tienen un id_seccion y subsecciones que ademas de tener un identificador (id_subseccion) tienen un id_sec, este id_sec me permite agrupar las subsecciones correspondientes a cada seccion.

Para graficartelo mejor,la manera en que se relacionan mis tablas es asi:

SECCIONES:
seccion 1 -> id_seccion = 1
seccion 2 -> id_seccion = 2

SUBSECCIONES(id_sec es el id correspondiente a la seccion)
subseccion a ->id_subseccion = 1 -> id_sec = 2
subseccion b ->id_subseccion = 2 -> id_sec = 2
subseccion c ->id_subseccion = 3 -> id_sec = 1
subseccion d ->id_subseccion = 4 -> id_sec = 1
subseccion e ->id_subseccion = 5 -> id_sec = 2
etc, etc...


Lo que quiero es averiguar es el id más chico de cada grupo de subsecciones (agrupandolas segun el ID_SEC coincidente).

En el ejemplo que di arriba el resultado que quiero obtener es:
id_subseccion correspondiente a "subseccion a" (1) y
id_subseccion correspondiente a "subseccion c" (3)

Son los ids de subseccion mas chicos de cada grupo de subsecciones...

El query que hize fue:
SELECT id_subseccion FROM subsecciones INNER JOIN secciones ON subsecciones.id_sec = secciones.id_seccion

(A este query le falta algo que es lo que estoy buscando)

Gracias de nuevo!
  #4 (permalink)  
Antiguo 26/04/2005, 16:50
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
De acuerdo Mira a mi paracer

A mi parecer una consulta sql no puede capturar eso, pero es solo a mi parecer, asi que te hice este script para que lo pruebes.

Antes de usarlo arregla las tablas y campos que puse quizas no sean iguales a los tuyos, asi que cambialos por los tuyos y corre ese script que me funciono como tu quieres.

Código PHP:
<?php
function Conectarse($host,$user,$pass,$data

   if (!(
$link=mysql_connect($host,$user,$pass))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db($data,$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link
}
$host "localhost";
$user "root"#cambia aqui por tu user
$pass ""#aqui esta vacio pero pon tu password si usas
$data "Help"# aqui pon el nombre de la base de datos que conectas

$coneccion Conectarse($host,$user,$pass,$data);

$sql "Select id_sec from secciones";
$rs mysql_query($sql,$coneccion);

$i 0;
while(
$result=mysql_fetch_array($rs)){
 
$sqlV "select id_subsec from subsecciones where id_sec = ".$result["id_sec"]." order by id_subsec asc limit 0,1";
 
$resultV mysql_fetch_array($rsV=mysql_query($sqlV,$coneccion));
 
$valores[$i] = $resultV["id_subsec"];
$i++; 
}

$i 0;
while(
$i<count($valores)){
 echo 
$valores[$i]."<br>";
$i++;
}
?>
Saludos,
  #5 (permalink)  
Antiguo 01/05/2005, 12:57
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 6 meses
Puntos: 0
MUCHISIMAS GRACIAAAAAAAAAAS Dwaks!!!

TU SCRIPT ME VINO PERFECTO, SOLO TUVE QUE CAMBIAR UNOS POCOS PARAMETROS Y FUNCIONO DE 10!!!!
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:17.