Foros del Web » Programando para Internet » PHP »

AGREGAR COUNT(*) de otra tabla

Estas en el tema de AGREGAR COUNT(*) de otra tabla en el foro de PHP en Foros del Web. Hola a todos,,, hago una consulta para descargar un csv de los cuales 2 campos son la suma total de registros existentes,, mi duda es ...
  #1 (permalink)  
Antiguo 07/07/2008, 10:10
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
AGREGAR COUNT(*) de otra tabla

Hola a todos,,, hago una consulta para descargar un csv de los cuales 2 campos son la suma total de registros existentes,, mi duda es como hacer la suma de uno de los dos campos,pues en la consulta solo puedo definir una sola suma:

<?php
break;
default:
$query = "SELECT DISTINCT n_expediente, f_asignacion, f_vencimiento, d_razon_social, k_proveedor, COUNT(*) AS registros FROM servigas_t_cliente, servigas_t_prov_venta WHERE k_proveedor=r_proveedor GROUP BY n_expediente";

$exec = mysql_query($query, $db);
$nuevax = mysql_query($query, $db);
$total = mysql_num_rows($exec);
?>

<div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
<div align="left" style="position:absolute;top:12px;left:11px">
<fieldset style="width:95%">
<legend class="texto1" align="center"><b>DESCARGA DE REPORTES</b></legend>

<table align="center" width="100%">

<?php
for ($i = 0; $i < $total; $i++){
$Data = mysql_fetch_array($exec);
?>

<?php
}
?>
</table>
<?php
//exporta a Csv

$f = fopen("reporteprueba.csv","w+");
$separador = ";";
while($reg = mysql_fetch_array($nuevax) ) {
$linea = $reg['d_razon_social'] . $separador . $reg['k_proveedor'] . $separador . $reg['n_expediente']. $separador . $reg['registros']. $separador . $reg['ventas']. "\n"; fwrite($f,$linea);
}
fclose($f);
?>

En el ultimo campo del csv debe ir la suma total de registros qeu cumplan con la condicion r_estado = 3 y r_estado= 2 similar al count "registros" qeu es el penultimo campo. No se como agregar el count de esta solicitud y que me aparezca en el mismo csv(ventas)

gracias por la ayuda
  #2 (permalink)  
Antiguo 07/07/2008, 10:20
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: AGREGAR COUNT(*) de otra tabla

has otra consulta a mi parecer con el otro count...
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #3 (permalink)  
Antiguo 07/07/2008, 10:45
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: AGREGAR COUNT(*) de otra tabla

estoy haciendo otra consulta pero elproblema es qeu no se como agregar la consulta en el while donde solo se restringe a la consulta "nuevax"
  #4 (permalink)  
Antiguo 07/07/2008, 10:48
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: AGREGAR COUNT(*) de otra tabla

puedes hacer algo asi:

select campo1, campo2,(select count(*) from tablaquesea CONDICION) from tabla CONDICION
__________________
My path is lit by my own fire, I only go where I desire
  #5 (permalink)  
Antiguo 07/07/2008, 10:48
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: AGREGAR COUNT(*) de otra tabla

declara una variable en la primera consulta donde puedas relacionarla con la segunda... y en la segunda haces en el where un AND variable = $variable1
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #6 (permalink)  
Antiguo 07/07/2008, 10:59
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: AGREGAR COUNT(*) de otra tabla

el problema lo estoy viendo en el while....que exporta a csv,,
la pregunta es puedo agregar al while de alguna manera una condicion identica a la que esta? algo asi como un AND, pues simplemente hago otra consulta con los datos qeu requiero..
  #7 (permalink)  
Antiguo 07/07/2008, 11:07
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: AGREGAR COUNT(*) de otra tabla

has la otra consulta en el primero... con las variables q la relacione y en el while.. insertas la variable de la consulta 2 la cual deseas q se sume.. pues en la segunda consulta ya la relacionarias con la primera tabla y el automaticamente lo coloca en su lugar
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #8 (permalink)  
Antiguo 07/07/2008, 11:18
 
Fecha de Ingreso: julio-2008
Ubicación: BOGOTA
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: AGREGAR COUNT(*) de otra tabla

ok...buena idea...creo qeu esa es la solucion....gracias....
  #9 (permalink)  
Antiguo 07/07/2008, 11:29
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: AGREGAR COUNT(*) de otra tabla

asi lo hice yo !!!.. algo parecido a lo tuyo... quizas t sirve aunq lo mio es con sessiones

fijate aqui.
Código PHP:
<?php 
require_once ('includes/sesion.php');
require_once(
'conect.php'); 

$reco "-1";
if (isset(
$_SESSION['id'])) {
  
$reco $_SESSION['id'];
}



$sqlex="SELECT id_user, COUNT(*) AS total, SUM(monto) AS suma FROM factura WHERE id_user = $reco GROUP BY id_user";
$sql_execex=mysql_query($sqlex) or die("Error en consulta: $sql_execex, error: "mysql_error());
$rowex=mysql_fetch_assoc($sql_execex);
$cedula $rowex['id_user'];

$Resultado="SELECT * FROM clientes WHERE id='$cedula' ORDER BY id ASC";
$sql_exec=mysql_query($Resultado) or die( "Error en consulta: $sqlexz, error: " mysql_error());
$datoscl mysql_fetch_assoc($sql_exec);
$cedu $datoscl['id'];

$sql="select * from clientes where id = '$reco'";
        
$sql_exec mysql_query($sql);
        
$rec mysql_fetch_array($sql_exec);
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>..//  L A  T I E N D A  D E L  P I N T O R //..</title>
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
-->
</style>
<link href="admin/css/estilo.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style1 {color: #E1E1E1}
.style2 {font-size: 11px}
.style3 {font-size: 11px; color: #E1E1E1; }
.style4 {color: #999999}
-->
</style>
</head>

<body>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="3"><img src="img_x2/header_x2.jpg" width="600" height="140" /></td>
  </tr>
  <tr>
    <td height="200" rowspan="2" valign="top" background="img_x2/bg_x2.jpg"><table width="140" border="0" align="center" cellpadding="0" cellspacing="3">
      <tr>
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td colspan="2">&nbsp;</td>
      </tr>
      <tr>
        <td width="27"><img src="img_x2/home_x2.jpg" width="19" height="19" /></td>
        <td width="104" class="textoResto"><a href="index.php">Inicio</a></td>
      </tr>
      <tr>
        <td height="5"></td>
        <td class="textoResto"></td>
      </tr>
      <tr>
        <td><img src="img_x2/usr_x2.jpg" width="18" height="18" /></td>
        <td class="textoResto"><a href="edt_perf_x2.php">Editar Perfil</a></td>
      </tr>
      <tr>
        <td></td>
        <td height="5" class="textoResto"></td>
      </tr>
      <tr>
        <td><img src="img_x2/ver_x2.jpg" width="18" height="18" /></td>
        <td class="textoResto"><a href="ver_fct_x2.php">Ver facturas</a></td>
      </tr>
      <tr>
        <td height="5"></td>
        <td class="textoResto"></td>
      </tr>
      <tr>
        <td><img src="img_x2/ing_x2.jpg" width="18" height="18" /></td>
        <td class="textoResto"><a href="ing_fct_x2.php">Ingresar facturas</a></td>
      </tr>
    </table></td>
    <td>&nbsp;</td>
    <td width="421" align="right"><table width="65" border="0" cellspacing="0" cellpadding="3">
      <tr>
        <td align="left" valign="middle"><a href="log_out_x2.php"><br />
          Salir</a> <a href="log_out_x2.php"><img src="img_x2/log_x2out.jpg" alt="Salir" width="18" height="18" border="0" /></a></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td width="10">&nbsp;</td>
    <td height="200" valign="middle" class="textoResto"><div align="justify"><br>
    </div>
      <table width="380" border="0" cellspacing="1">
        <tr>
          <td colspan="4" bgcolor="#333333" class="textoBlanco"><table width="400" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td>&nbsp;</td>
                <td class="textoBlanco">DATOS DEL CLIENTE</td>
              </tr>
          </table></td>
        </tr>
        <tr>
          <td width="68" bgcolor="#999999" class="textoBlanco"><div align="right">Nombre:<span class="style4">.</span></div></td>
          <td height="20" colspan="3" bgcolor="#E1E1E1" class="textoTitulos2"><span class="style2 style1">..</span><?php echo $rec['nombre']; ?></td>
        </tr>
        <tr>
          <td bgcolor="#999999" class="textoBlanco"><div align="right">Apellido:<span class="style4">.</span></div></td>
          <td height="20" colspan="3" bgcolor="#E1E1E1" class="textoTitulos2"><span class="style2 style1">..</span><?php echo $rec['apellido']; ?></td>
        </tr>
        <tr>
          <td bgcolor="#999999" class="textoBlanco"><div align="right">C.I./RIF.:<span class="style4">.</span></div></td>
          <td height="20" colspan="3" bgcolor="#E1E1E1" class="textoTitulos2"><span class="style2 style1">..</span><?php echo $rec['cedula']; ?></td>
        </tr>
        <tr>
          <td bgcolor="#999999" class="textoBlanco"><div align="right">Fecha Nac.:<span class="style4">.</span></div></td>
          <td height="20" colspan="3" bgcolor="#E1E1E1" class="textoTitulos2"><span class="style2 style1">..</span><?php echo $rec['fecha']; ?></td>
        </tr>
        <tr>
          <td bgcolor="#999999" class="textoBlanco"><div align="right">E-Mail:<span class="style4">.</span> </div></td>
          <td width="165" height="20" bgcolor="#E1E1E1" class="textoTitulos2"><span class="style2 style1">..</span><?php echo $rec['mail']; ?></td>
          <td width="70" bgcolor="#666666" class="textoBlanco"><div align="right">Tel&eacute;fono: </div></td>
          <td width="88" bgcolor="#E1E1E1" class="textoTitulos2"><span class="style3">..</span><?php echo $rec['telefono']; ?></td>
        </tr>
        <tr>
          <td height="20" colspan="4" class="textoBlanco">&nbsp;</td>
        </tr>
        <tr>
          <td height="20" colspan="4" bgcolor="#333333" class="textoBlanco"><table width="400" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td>&nbsp;</td>
                <td class="textoBlanco">FACTURACI&Oacute;N</td>
              </tr>
          </table></td>
        </tr>
        <tr class="textoResto">
          <td colspan="4" align="center" bgcolor="#FFFFFF" class="textoAmarillo2"> <?php 
          $sqlex2
="SELECT * FROM factura WHERE id_user = '$cedu' ORDER BY id ASC";
      
$sql_execex2=mysql_query($sqlex2) or die( "Error en consulta: $sqlexz, error: " mysql_error());
          if( 
$rowex ) { ?>
            <table width="100%" border="0" cellspacing="1" cellpadding="0">
              <tr>
                <td width="44%" bgcolor="#999999"><div align="center" class="textoBlanco">Tienda</div></td>
                <td width="26%" bgcolor="#999999"><div align="center" class="textoBlanco">Factura N&ordm;</div></td>
                <td width="30%" bgcolor="#999999"><div align="center" class="textoBlanco">Monto</div></td>
              </tr>
              <tr>
                <?php
      
      
while($rowex2=mysql_fetch_assoc($sql_execex2))   
{    
?>
                <td bgcolor="#CECECE"><table width="96%" border="0" cellpadding="0" cellspacing="2" class="textoFactura">
                    <tr>
                      <td width="15%"><a href="elim.php?id=<?php echo $rowex2['id'];?>"><img src="img_x2/elim.jpg" alt="Eliminar Factura" width="14" height="14" border="0"></a></td>
                      <td width="85%" valign="middle" class="textoTitulos2"><?php echo $rowex2['tienda']; ?></td>
                    </tr>
                </table></td>
                <td align="center" bgcolor="#E1E1E1" class="textoAmarillo2"><?php echo $rowex2['factura']; ?></td>
                <td bgcolor="#CECECE"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="textoResto">
                  <tr>
                    <td width="8%" bgcolor="#CECECE">&nbsp;</td>
                    <td width="92%" bgcolor="#CECECE"><strong>Bs.F</strong> <?php echo $rowex2['monto']; ?></td>
                  </tr>
                </table></td>
              </tr>
              <?php ?>
              <tr>
                <td><div align="right"><span class="textoAmarillo2">Total</span><span class="style3">..</span></div></td>
                <td bgcolor="#E1E1E1" class="textoTitulos"><div align="center" class="textoFactura"><?php echo $rowex['total']; ?> <strong class="textoTitulos2">Facturas</strong></div></td>
                <td bgcolor="#CECECE"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="textoResto">
                  <tr>
                    <td width="8%" bgcolor="#CECECE">&nbsp;</td>
                    <td bgcolor="#CECECE" class="textoTitulos2"><span class="textoFactura style2">Bs.F</span> <?php echo $rowex['suma']; ?></td>
                  </tr>
                </table></td>
              </tr>
            </table>
          <?php } else {
      echo (
"Usted no posee facturas ingresadas");
?></td>
        </tr>
      </table>      </td>
  </tr>
  <tr>
    <td width="179" background="img_x2/bg_x2.jpg"><img src="img_x2/bg_x2.jpg" width="179" height="10" /></td>
    <td colspan="2" align="center"></td>
  </tr>
  <tr>
    <td height="8" colspan="3" bgcolor="#E1AE00"></td>
  </tr>
</table>
</body>
</html>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
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 20:12.