ya he publicado mi problema por dos dias seguidos en este foro y no hay ninguna respuesta, no se si es que estoy explicando mal mi duda, o que no se puede hacer lo que quiero, pero lo intento de nuevo.. tengo un sistema que me avisa la entradas y salidad de un documento (expediente) a cada oficina, en la bd tengo los campos estado(ingreso o egreso), fecha(fecha de ingreso o egreso), ID(unica autoincrementable), identificador(copia de la ID del ingreso que solo la tienen los egresos, la uso para saber a que ingreso corresponde cada egreso ya que por ingreso solo hay un egreso), casillero(representa el lugar fisico o casillero donde esta el documento guardado, este registro lo manejo desde otra bd llamada casilleros donde voy actualizando con un update los casillero ocupados y vacios por dia, los casilleros son comunes a todas las oficinas por lo tanto el casillero numero uno puede estar ocupado por cualquier oficina).
Hasta ahi todo bien, prepare un pequeño buscador que me decia cuantos ingresos y egresos tenia en el dia de la fecha, asique solo contaba los casilleros libres y ocupados y estaba todo solucionado, el problema se presento cuando me pidieron saber cuantos casilleros habia tenido libres y ocupados en otra fecha (elegida por el usuario en un buscador) como la fecha ya no era fija y los casilleros se actualizan por dia cambiado de ocupados a vacios, no tengo forma de seguir sacando esa informacion de la base de casilleros, por lo que me fui a la base de ingresos y egresos, ahi se me presento el problema.
Intento hacer una consulta a esa base de datos ingresando una fecha X, y la base de datos deberia responderme diciendo en ese dia cuanto casillero tenia ocupados y cuantos vacios, por lo que se me ocurrio leer todos los registros menores a la fecha fecha<$fecha y que sean egresos estado='egreso' una vez filtrados le pido que lea el identificadory lo guardo en la variable $identegreso, luego hago otra consulta le digo que esta vez dentro del bucle lea los ingresos menores a la fecha fecha<$fecha and estado='ingreso', pero que solo me traiga los que no correspoden a ningun egreso ID!='$identegreso'. de esa manera se cuantos ingresos tengo hasta esa fecha que no egresaron, por lo tanto se cuantos casilleros vacios tengo. el problema es que el bucle funciona perfecto cuando solo tengo un registro en la base de datos un ingreso con su correspondiente egreso, cuando tengo dos o mas no funciona por que el primer bucle busca el primer egreso toma su identificador y anula el ingreso que corresponde pero a su vez me muestra los otros, luego va por el segundo egreso pero me muestra el primero, osea.. comprueba de a uno por vez y en cada vuelta del bucle me muestra todos los que no comprobo por lo tanto veo los resultados como si no estuviera haciendo nada jajaaja. no encuentro una solucion logica para esto y esta consulta esta retrasando todo mi proyecto, si alguien puede ayudarme ya sea con codigo o con algo de logica se lo voy a agradecer mucho, por favor comenten porque no se si estoy escribiendo esto en el lugar correcto, desde ayer tengo mas de 100 visitas y ningun comentario en mis post anteriores y no se si se debe a que estoy escribiendo en un lugar que no debo(empece ayer en este foro y es mi primer pregunta). gracias a todos y cualquier comentario es bienvenido
pego el codigo que estoy usando actualmente:
Código PHP:
$resulta=mysql_query("select * from documentos Where estado='egreso'
and fecha<'$fecha'",$link);
while($uno=mysql_fetch_array($resulta)){
$identegreso=$uno['identificador'];
$resulta2=mysql_query("select * from documentos where estado!='egreso' and
ID!='$identegreso' and fecha<'$fecha'",$link);
while($dos=mysql_fetch_array($resulta2)){
$identingreso=$dos['ID'];
echo $identingreso."<br />";
}
}