Foros del Web » Programando para Internet » PHP »

ayuda con consulta

Estas en el tema de ayuda con consulta en el foro de PHP en Foros del Web. tengo una tabla, proyectos, que entre otros campos tiene el campo "consultoreS". Cada vez que el sistema ingresa un nuevo proyecto, le asigna consultores. Entonces, ...
  #1 (permalink)  
Antiguo 25/09/2007, 12:53
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
ayuda con consulta

tengo una tabla, proyectos, que entre otros campos tiene el campo "consultoreS".
Cada vez que el sistema ingresa un nuevo proyecto, le asigna consultores.
Entonces, algún registro puede tener en el campo "consultores", los id de estos, de la siguiente forma:
"1,3,9,11". Es decir, que al proyecto X se le asginaron los consultores 1, 3, 9 y 11.
Por otro lado, cada consultor se loguea en el sistema, y éste debe mostrarle sólo los proyectos en los que está participando.
es decir, debería buscar * from proyectos where "su numero de id" esté en el campo "consultores".
No sé cómo hacer esta consulta.
Al momento, sólo estoy asignando un consultor a cada proyecto y resuelvo el tema con esta consulta:
select proyectos.id as idi, proyectos.titulo as titulo, proyectos.cliente as cli from proyectos inner join tareas on proyectos.id = tareas.id_proyecto where proyectos.consultores='$idcon' group by proyectos.titulo order by proyectos.titulo asc
pero necesito que haya más consultores por proyecto, y cuando lo hago, esta consulta no me sirve.... estaba pensando en "where '$idcon'in proyectos.consultores pero no funciona
alguna idea? lo agradeceré ad infinitum
Gracias!
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #2 (permalink)  
Antiguo 25/09/2007, 17:02
Avatar de kunndry  
Fecha de Ingreso: abril-2004
Ubicación: Alicante / España
Mensajes: 247
Antigüedad: 20 años
Puntos: 0
Re: ayuda con consulta

Hola,

Yo te sugiero que añadas otra tabla, que puedes llamar trabajandoEn o como quieras.

Esta tabla unicamente deberia tener la clave primaria de la tabla proyectos y la clave primaria de la tabla consultores, ambas como clave ajena.

Luego ya, que las hagas o no claves primarias depende de si quieres que un consultor solo pueda trabajar en un proyecto o en varios y otras dependencias que no se con la información que has dado.

Espero que te sirva de ayuda.
  #3 (permalink)  
Antiguo 02/10/2007, 14:14
Avatar de arielcasanova  
Fecha de Ingreso: octubre-2004
Ubicación: Bahía Blanca - Argentina
Mensajes: 332
Antigüedad: 19 años, 6 meses
Puntos: 1
Re: ayuda con consulta

Gracias! lo resolví de la siguiente manera:
Código PHP:
$sql9"insert into proyectos (titulo, cliente, estado, descripcion, fecha, fechafin, pago, honorarios, numero) values
('$titulo', '$cliente', '$estado', '$descripcion', '$fecha', '$fechafin', '$pago', '$honorarios', '$numero')"
;
if (
$result9 mysql_query($sql9$conexion))
{
echo 
"Registro ingresado con éxito";

$sql3"SELECT id from proyectos where cliente='$cliente' and estado='$estado' and titulo='$titulo'";
$result3 mysql_query($sql3$conexion);
if (
$row mysql_fetch_array($result3))
{
mysql_field_seek($result3,0);
do
{
$id_proyecto=$row['id'];
}
while (
$row mysql_fetch_array($result3));
}
$selecti=$_POST['seleccion'];
foreach(
$selecti as $seleccion) {
$squele"INSERT INTO asignaciones (proyecto,consultor) VALUES ('$id_proyecto', '$seleccion')";
$resulto mysql_query($squele$conexion);
}

}
else
{
echo 
"No pudo ingresarse el registro. Contacte al programador";
}

Ahora tengo otro problema!
¿Cómo hago para obtener un listado de proyectos, pero que me arroje los nombres de todos los consultores asignados a un proyecto en el mismo casillero de la tabla?
Cuando hago esta consulta:
SELECT clientes.nombre, proyectos.titulo, proyectos.estado, proyectos.fecha, asignaciones.consultor, consultores.nombre as nombrecon, proyectos.fechamod, proyectos.fechafin from proyectos inner join clientes on clientes.id=proyectos.cliente inner join asignaciones on asignaciones.proyecto=proyectos.id inner join consultores on asignaciones.consultor=consultores.id

me arroja un registro distinto para cada consultor asignado al mismo proyecto; si le pongo group by proyecto, sólo me muestra uno de los registros con su consultor, pero quedan afuera los otros... alguna sugerencia?
__________________
Ariel Casanova
diseño y desarrollo web estratégico
www.emporia.com.ar
  #4 (permalink)  
Antiguo 02/10/2007, 21:40
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: ayuda con consulta

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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 13:09.