| |||
logica de prog o relacion de tablas? tengo 2 tablas en una base de datos, una pose los nombres de los usuarios y sus datos personales, la otra posee 6 tipos de asignaciones (que son las mismas para todos los usuarios) pero no todos tienen las mismas asignaciones, por ejemplo usuario roberto imprimo las asignaciones en pantalla, que pueden ser 1,3,5... usuario alejandro asignaciones 2,3,5, 6. y asi dependiendo de qeu usuario selecciono. la pregunta es, para esto tengo que crear una relacion de tablas? o por medio de php al realizar las consultas podria obtener las asignaciones de cada usuario?... no se si es muy confuso, pero espero me ayuden que estoy bastante perdido sin encontrar la solucion, de antemano le agradezco a todos. saludos |
| ||||
NO me queda claro, que son als asignacion y como las calculas.
__________________ http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux |
| |||
Cita: saludos, gracias por contestar, ok la segunda tabla de asignaciones serian el trabajo que tiene que hacer cada uno de los usuarios, por decir un empleado de una compañia. estas asignaciones para este ejemplo digo que son 6. podrian ser
Iniciado por TolaWare NO me queda claro, que son als asignacion y como las calculas. 1.aseo (salario) 2.seguridad (salario) 3.mensajeria (salario) 4.revision de documentos (salario) 5.reparaciones (salario) 6.gerencia (salario) cada una de estas labores tiene un salario. lo que deseo hacer es teniendo mi tabla de empleados, asignarle a cada empleado sus diferentes asignaciones, por ejemplo roberto Asignacion 1. y 3. simon asignacion 2. y 3. raul asignacion 6. cristobal asignacion 5. y 2. esos es lo que quisiera. cual podria ser la finalidad de todo este enrredo? en base al nunmero de asignaciones por persona, calcular su salario etc. bueno espero haber sido mas claro. saludos |
| |||
saludos spider boy, asi lo habia pensado, pero, es ahi donde no estoy muy claro en como hacerlo. ponte que quisiera hacer la consulta de cuantos usuarios tienen la asignacion de aseo?.. bueno no se si estoy enrredando esto mas pero, ya saben como es de dificil pedir ayuda cuando no esta uno muy claro. espero me entiendan. |
| |||
muchisimas gracias spider boy, exactamente diste en el clavo con lo que nesecitaba saber en esta parte: ej: $query = mysql_query("SELECT asignaciones FROM usuarios WHERE usuario='$usuario'"); $row = mysql_fetch_assoc($query); $asig = explode("-", $row['asignaciones']); $query2 = mysql_query("SELECT salario FROM asignaciones WHERE asignacion='$asig[0]'"); // $asig[0] corresponde a la asignación número 1 dada en el ej. de más arriba... |
| ||||
yo separaria la tabla de usuarios, la tabla de asignaciones y haria una 3ª tabla que tuviera las relaciones: USUARIOS ID, NOMBRE, + DATOS... ASIGNACION: ID, TITULO, REMUNERACION, + DATOS... ASIGNACIONES: ID_USUARIO, ID_ASIGNACION luego haces las consultas asi: SELECT * FROM asignaciones WHERE id=<ID DEL USUARIO> para calcular la remuneracion total, hay varias formas. Una es usar JOIN en la consulta y que te aparezca la remuneracion por la asignacion como un campo más en la consulta anterior, y luego recorrer el resultado de la consulta con PHP he ir sumando. la otra es usar alguna funcion interna del servidor de base de datos que ocupes para calcular la suma. |
| ||||
Jojojo... que bueno... de verdad que me alegro haberle dado en el clavo por lo menos a una duda... pero lo que me complicaba era en caso de que tuviera más de una asignación... la idea era hacer solo una consulta para obtener todos los salarios... prueba con esto... (despues del explode) for($i = 1; $i <= count($asig); $i++) { $query2 = mysql_query("SELECT salario FROM asignaciones WHERE asignacion='$asig[$i]'"); $row = mysql_fetch_assoc($query2); echo $row['salario']."<br>"; } otra cosa... como dijeron arriba, hay muchas otras formas... yo hago lo que puedo por ayudar... no soy muy diestro en el tema... así que prueba todas las opciones que te den :) |
| ||||
ok definitivamente este problema es de modelado de base de datos.. la solucion que plantea arraukano es la mas conveniente porque las tablas poseen relacion de n a n y por lo tanto se hace necesario crear una nueva tabla (asignaciones) que va contener las claves primarias de las otras dos tablas.. luego ya tienes que implementar el lenguaje de programación php adecuado para hacer las inserciones a las tablas. un saludo
__________________ im knowing mi digitalself... |