Formularios

Francisco
07 de Abril del 2005
como filtro registros de 5 tablas que se encuentran ligados, es decir que selecciono la primera tabla y me arroja la segunda pero solo los datos que esten relacionados con el registro elejido, y asi sucesivamente con los demas hasta filtrar la ultima tabla.

Gracias agradecere tu ayuda

daniel
07 de Abril del 2005
podes hacer asi

"select a.artefac,a.marca,b.fecha_mod,c.motivo from reclamo a,asignacion b, aclaracion c WHERE a.fecha_ing BETWEEN '$fechaini' AND '$fechafin' AND b.id_asignado=a.id_reclamo AND b.id_asignado=c.id_aclaracion ORDER BY a.sucursal,a.artefac, a.marca";

donde id_ es el campo que relaciona las diferentes tablas. si no entendes te lo explico mejor

Fco
07 de Abril del 2005
si daniel, eso esta bien te entiendo, pero lo que realmente quiero es que cuando desplegue la informacion con un '<Select name="seleccion1">'; y al momento de elejir un dato me desplegue los datos que correspondan a ese registro y asi sucesivamente. agradecere mucho tu ayuda.

Por ejemplo:
selecciono el primero que es ciudad(desplega datos y elijo uno que son las poblaciones)segundo seleciono una poblacion y me desplega las localidades)tercero elijo una poblacion y me desplega la colonia)cuarto elijo una colonia y me desplega las calle. asi quiero hacer pero no busco como. lo hago pero pierdo los valores y ademas tengo que usar un boton, la cuestion es que automaticamente cuando yo elija un dato del menu desplegable me debe ir arrojando los demas datos. por favor si puedes ayudarme o alguien ayudarme se lo agradecere

Saludos y Gracias Daniel
Atte: Francisco

micknico
07 de Abril del 2005
Francisco yo hago algo parecido pero solo con 2 tablas , de todas formas debiese funsionar con mas.
te adjunto el codigo de la consulta y despliege de datos

<?php

$sql = 'SELECT * FROM itemizado';
$resultado = ejecutar_sql($sql);
if (mysql_num_rows($resultado)!=0) // controla que haya por lo menos un registro antes de entrar al while.
{
while ( $salida = mysql_fetch_array($resultado) )
{
$item = strval($salida['Item']);
$PU = intval($salida['PU']);
$Q0 = ($salida['Q0']);
$part = $salida['Partida'];
$cor = $salida['Correlativo'];
$uni = $salida['UD'];
$presup = intval($PU * $Q0);
$spresu= $spresu+intval($presup);

$sql = 'SELECT SUM(Q1) AS suma FROM controlestadopago WHERE Itemm="'.$item.'" GROUP BY Itemm';
$result = ejecutar_sql($sql); // obtiene la suma de Q1 de todos los items de controlestadopago.itemm = itemizado.item
if ( $suma = mysql_fetch_array($result) ) // hay un registro para este item en controlestadopago
{
$totalQ1 = $suma['suma']; // cargo en totalQ1 la suma
$total = $totalQ1 * $PU; // multiplica la suma obtenida en "suma" por el PU obtenido para este itemm
$gral = $gral+$total;
}
else
$total = 0; // cargo 0

$sql = 'SELECT * FROM Ep WHERE item="'.$item.'"'; // este no se si es por item y si se repiten o no. Si hay un registro solo por item entonces con if estaria, sino debes agregarle un while
$res = ejecutar_sql($sql);
if ( $sal = mysql_fetch_array($res) )
{
$ante = $sal['ant']*$PU;
$sant=$sant + $ante;

}
else
{
$ante = '';
$act = '';
}
$act = $ante+$total;
$sact= $sact + $act;

echo '<td width="50" cellspacing="0" align="left">'.$item.'</td>';
echo '<td width="397" cellspacing="0" align="left" >'.$part.'</td>';
echo '<td width="35" cellspacing="0" align="center" >'.$uni.'</td>';
echo '<td width="110" cellspacing="0" align="right" >'.money_format('%!.0n', $presup) ."n".'</td>';
echo '<td width="110" cellspacing="0" align="right" >'.number_format($ante,0,',','.') .'</td>';
echo '<td width="100" cellspacing="0" align="right" >'.money_format('%!.0n', $act) ."n".'</td>';
echo '<td width="100" cellspacing="0" align="right" >'.money_format('%!.0n', $total) ."n".' </td></tr>';
}
}
//$spresu=intval($spres);
echo '<td width="50" cellspacing="0" align="left"></td>';
echo '<td width="397" cellspacing="0" align="left" >Total Estado de Pago </td>';
echo '<td width="35" cellspacing="0" align="left" ></td>';
echo '<td width="110" cellspacing="0" align="right" >'.money_format('%!.0n', $spresu) ."n".'</td>';
echo '<td width="0" cellspacing="0" align="right" >'.money_format('%!.0n', $sant) ."n".' </td>';
echo '<td width="0" cellspacing="0" align="right" >'.money_format('%!.0n', $sact) ."n".' </td>';
echo '<td width="0" cellspacing="0" align="right" >'.money_format('%!.0n', $gral) ."n".' </td></tr>';
?>

Espero te sirva de algo

Saludos!