Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/12/2006, 07:43
Daerion
Usuario no validado
 
Fecha de Ingreso: junio-2004
Mensajes: 37
Antigüedad: 19 años, 10 meses
Puntos: 1
Re: como listar una consulta de cierta tabla usando resultados de otra tabla?

Excelente...ahi va... estoy poniendo todo el codigo, donde se realizan tanto el listado como la busqueda en si.
Gracias nuevamente, y espero que esto sirva. lo que les comento esta marcado entre "//***"

Código PHP:

<?PHP
/consulta utilizando la base archivo intermedio )
include_once(
"linker/conn.busk.track.php");

$mariscal $_SESSION['id'];

$busk_results mysql_query("SELECT * FROM $busk_tabla WHERE usuario='$mariscal'") or die("No se pudo realizar la consulta a la Base de datos");

$BUSKA mysql_fetch_array($busk_results);

$tipo_busqueda $BUSKA[tipo_busqueda];
$numero $BUSKA[numero];
$busk $BUSKA[busk];
$desde $BUSKA[desde];
$hasta $BUSKA[hasta];

$corresponder $_SESSION['cliente'];

//***
//EN EL CASO DE QUE EL USUARIO BUSQUE POR NUMERO DE FACTURA
/*
Sucede lo siguiente. Como los numeros de factura están en el archivo "items" 
lo primero que tengo que hacer es entrar por los status segun el numero de factura
luego de ese valor tomar el correspondiente numero de orden
y recien ahi saltar a la tabla de embarques y consultar con el numero anterior de orden
*/
if($tipo_busqueda == "numero_factura"){

include_once(
"linker/conn.items.track.php");

$fact_results mysql_query("SELECT * FROM $items_tabla WHERE evento='Factura de Venta' AND observac LIKE '%$numero%'") or die("No se pudo realizar la consulta a la Base de datos");

$total mysql_num_rows($fact_results);
echo 
$total;
$FACTURA_VENTA mysql_fetch_array($fact_results);

$num_fact$FACTURA_VENTA[numorden];

//***
}

//datos que se toman para la busqueda avanzada
$destino $BUSKA[destino];
$origen $BUSKA[origen];
$master $BUSKA[master];
$house $BUSKA[house];
$num_or_ven $BUSKA[num_or_ven];
$num_or_cli $BUSKA[num_or_cli];

//PREPARO UNA DISCRIMINACION/FILTRO SEGUN LO QUE SE ESTA BUSCANDO
switch ($tipo_busqueda) {
    case 
"numero_operacion" :
        
$filtro "AND numoper='$numero'"
    break;
        case 
"numero_factura" :
        
$filtro "AND numorden='$num_fact'";
    break;
        case 
"fecha_llegada" :
        
$filtro "AND fecllega BETWEEN '$desde' AND '$hasta'";
    break;
}

        
$SEKTOR "AND sector = '$busk'";

//CONECTO A LA BASE
include_once("linker/conn.orden.track.php");


if(
$busk=="BA"){
//busqueda avanzada

if($origen!=""){
$BKorigen =  "AND origen LIKE '%$origen%'";
}
if(
$destino!=""){
$BKdestino =  "AND destino LIKE '%$destino%'";
}
if(
$master!=""){
$BKmaster =  "AND tmaster LIKE '%$master%'";
}
if(
$house!=""){
$BKhouse =  "AND house LIKE '%$house%'";
}
if(
$num_or_ven!=""){
$BKnum_or_ven =  "AND numorden LIKE '%$num_or_ven%'";
}
if(
$num_or_cli!=""){
$BKnum_or_cli =  "AND refere1 LIKE '%$num_or_cli% OR refere2 LIKE '%$num_or_cli%'";
}


$BKfecha "AND $tipo_busqueda BETWEEN '$desde' AND '$hasta'";



    
$resultados mysql_query("SELECT * FROM $orden_tabla WHERE cliente='$corresponder' $BKdestino $BKorigen $BKmaster $BKhouse $BKnum_or_ven $BKnum_or_fac $BKfecha ORDER BY numorden");
    
//$resultados = mysql_query("SELECT numorden FROM articulos WHERE visible = 1");
    
$total_registros mysql_num_rows($resultados); 
    
//idem para la paginacion
    
$resultados mysql_query("SELECT * FROM $orden_tabla WHERE cliente='$corresponder' $BKdestino $BKorigen $BKmaster $BKhouse $BKnum_or_ven $BKnum_or_fac $BKfecha ORDER BY numorden ASC LIMIT $inicio, $registros");    
    
$total_paginas ceil($total_registros $registros);                       
}else{
//busquedas comunes
    
$resultados mysql_query("SELECT * FROM $orden_tabla WHERE cliente='$corresponder' $filtro $SEKTOR ORDER BY numorden");
    
//$resultados = mysql_query("SELECT numorden FROM articulos WHERE visible = 1");
    
$total_registros mysql_num_rows($resultados); 
    
//idem para la paginacion
    
$resultados mysql_query("SELECT * FROM $orden_tabla WHERE cliente='$corresponder' $filtro $SEKTOR ORDER BY numorden ASC LIMIT $inicio, $registros");    
    
$total_paginas ceil($total_registros $registros); 
}

if(
$total_registros != 0) {

echo <<< HTML
<table width="720" border="0"  align="center" cellpadding="1" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="8" align="center" valign="middle" bgcolor="#004A6F"><b><span class='titles'>.: EMBARQUES :.</span></b></td>
</tr>
HTML;
    
while(
$orden=mysql_fetch_array($resultados)) {

$numorden $orden[numorden];
$sector $orden[sector];
$tipoint $orden[tipoint];

switch (
$tipoint) {
    case 
"O" :
        
$tipoint_valor "Operación";
        
$tipoint_image "-oper";
        
$tipoint_alt =  "alt='Operación'";
    break;
    case 
"V" :
        
$tipoint_valor "Orden de Venta";
        
$tipoint_image "-or_ven";
        
$tipoint_alt =  "alt='Orden de Venta'";
    break;
}


echo 
"<tr><td width='50' rowspan='4' align='center' valign='middle' bgcolor='#C0D9E7'>";
  

HTML;

switch (
$sector) {
    case 
"IA" :
        echo 
"<a href='distiller.php?busk=DETALLES&numorden=$numorden&pagina=$pagina'><img src='images/A".$tipoint_image.".gif' width='35' height='34' align='absmiddle' border='0' $tipoint_alt></A>";
    break;    
    case 
"EA" :
        echo 
"<a href='distiller.php?busk=DETALLES&numorden=$numorden&pagina=$pagina'><img src='images/A".$tipoint_image.".gif' width='35' height='34' align='absmiddle' border='0' $tipoint_alt></A>";
    break;
    case 
"IM" :
        echo 
"<a href='distiller.php?busk=DETALLES&numorden=$numorden&pagina=$pagina'><img src='images/M".$tipoint_image.".gif' width='35' height='34' align='absmiddle' border='0' $tipoint_alt></A>";
    break;
    case 
"EM" :
        echo 
"<a href='distiller.php?busk=DETALLES&numorden=$numorden&pagina=$pagina'><img src='images/M".$tipoint_image.".gif' width='35' height='34' align='absmiddle' border='0' $tipoint_alt></A>";
    break;
    case 
"IT" :
        echo 
"<a href='distiller.php?busk=DETALLES&numorden=$numorden&pagina=$pagina'><img src='images/T".$tipoint_image.".gif' width='35' height='34' align='absmiddle' border='0' $tipoint_alt></A>";
    break;
    case 
"ET" :
        echo 
"<a href='distiller.php?busk=DETALLES&numorden=$numorden&pagina=$pagina'><img src='images/T".$tipoint_image.".gif' width='35' height='34' align='absmiddle' border='0' $tipoint_alt></A>";
    break;
}

echo <<< HTML



</td>
<td width="40" rowspan="4" align="center" valign="middle" bgcolor="#EAF2F7"><a href="distiller.php?busk=DETALLES&amp;numorden=$numorden&amp;pagina=$pagina" class='aX'><span class='texter'><strong>$numorden</strong></span></a></td><td width="110" height="8" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'><strong>House</strong></span></td><td width="170" height="8" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'><strong>Origen</strong></span></td><td width="180" height="8" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'><strong>Destino</strong></span></td><td width="80" height="8" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'><strong>Fecha Salida</strong></span></td>
    <td width="80" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'><strong>Fecha Llegada</strong></span></td>
    <td width="10" rowspan="4" align="center" valign="middle" bgcolor="#C0D9E7">&nbsp;</td>
</tr>
<tr>
  <td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[house]</span></td>
<td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[origen]</span></td>
<td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[destino]</span></td>
<td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[fecsal]</span></td>
<td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[fecllega]</span></td>
</tr>

<tr>
<td height="8" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'><strong>Operación</strong></span></td>
<td height="8" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'>
HTML;

switch (
$sector) {
        case 
"IA" :
        echo 
"<strong>Vuelo</strong>";
    break;
        case 
"EA" :
        echo 
"<strong>Vuelo</strong>";
    break;
        case 
"IM" :
        echo 
"<strong>Buque</strong>";
    break;
        case 
"EM" :
        echo 
"<strong>Buque</strong>";
    break;
        default:
        echo 
"<strong>Vuelo / Buque</strong>";
    break;
}

echo <<< HTML

</span></td>
<td height="8" align="center" valign="middle" bgcolor="#C0D9E7"><strong><span class='texter'>Orden de Compra</span></strong></td>
<td height="8" colspan="2" align="center" valign="middle" bgcolor="#C0D9E7"><span class='texter'><strong>Shipper</strong></span></td>
</tr>

<tr>
  <td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[numoper]</span></td>
  <td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[vuelo]</span></td>
  <td height="8" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[refere1]</span></td>
  <td height="8" colspan="2" align="center" valign="middle" bgcolor="#EAF2F7"><span class='texter'>$orden
[shipper]</span></td>
  </tr>
<td height="1" colspan="8" align="center" valign="middle" bgcolor="#000000"></td>
</tr>
HTML;
}

echo 
"</table>
<p>"
;//aca termina la tabla mensionada antes    
  
}else{
  echo 
"<br><br><br><center>No se han encontrado resultados con los criterios de búsqueda utilizados";
  echo 
"<br><br><br>";
  echo 
"<a href='distiller.php?busk=$busk'><img src='images/volver.gif' width='14' height='14' align='absmiddle' border='0'></A>";
  }
  
?>

Última edición por Daerion; 06/12/2006 a las 10:04