Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/10/2005, 09:30
Avatar de haron
haron
 
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
no creo que puedas hacerlo, ya que tendrias que diseñar una consulta sql recursiva.

de todas formas tambien me he visto en esa situacion y lo solucione usando una funcion en PHP:
Código:
function getIds(&$array_id, $idPertenece) {
	global $CONN;
	
	array_push($array_id, $idPertenece);
	$sql = "
	select id
	from tabla
	where idPertenece = ".strquoted($idPertenece);
	$result = mysql_query($sql, $CONN);
	while ($row = mysql_fetch_row($result))
		getIds($array_id, $row[0]);
}
si no me he equivocado en el codigo, la siguiente funcion:
Código:
getIds($array_id, "1")
colocara en el array "$array_id" los siguientes valores:

1, 2, 3, 4

que son los "ids" de pepe y toda su descendencia.

luego lo unico que tienes que hacer es montar la select:
Código:
$sql = "select * from tabla where id in (".implode(",", $array_id).")";
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.