PHP - multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

 
Vista:

multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

Publicado por alexissanjaun (3 intervenciones) el 18/02/2020 15:20:17
estoy intentando presentar una consulta con los saldos de un cliente tengo el siguiente código (el primero expuesto), el cual consulta facturas adeudadas y notas de credito con saldos sin aplicar (osea dinero que tiene el cliente a favor) y necesito agregarle la query que abajo detallo (segundo codigo), el cual me devuelve una variable llamada 'haber', el cual muestra dinero a cuenta que tiene el cliente en cuestion, debido a pagos sin aplicar; la necesidad seria volcar el resultado en la misma tabla que el anterior. Por otro lado de la primer query necesitaria poder sumar toda la columna 'saldos' y colocarle el simbolo $. Se que es mucho, pero desde ya agradezco enormemente en tiempo. Soy muy nuevo intento aprender poco a poco y la verdad intente buscando por ahi pero no puedo darle solucion a lo expuesto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
 
$ServerName = "miserver";
$Username = "usuario";
$Password = "pass";
$NameBD = "nombreBD";
 
$conexion = new mysqli($ServerName, $Username, $Password, $NameBD);
mysqli_query("SET NAMES 'utf8'");
 
if ($conexion->connect_error) {
    die("Ha fallado la conexión: " . $conexion->connect_error);
}
 
//echo "Conectado correctamente";
 
  $fechaActual = date('d-m-y');
 
$consulta= "SELECT SUM(CtaCte.Debe - CtaCte.Haber) AS Saldo  ,f.NroInterno AS IdFactura, f.Boca,  f.Tipo,  f.Letra,  f.Numero, f.Fecha, f.Moneda, f.Obs, f.MonedaCotizacion  FROM Facturas f, CtaCte WHERE f.IdCliente = CtaCte.IdCliente AND (CtaCte.IdFactura = f.NroInterno OR CtaCte.IdFactura2 = f.NroInterno) AND CtaCte.IdCliente = 422 AND f.Tipo IN (1, 2, 0, 7) AND f.Empresa = 1 AND CtaCte.Empresa = 1 AND f.Sucursal = 2 AND CtaCte.Sucursal = 2 AND (IsNull(CtaCte.Conciliado) OR CtaCte.Conciliado='N' OR CtaCte.Conciliado='')  AND NOT f.Anulada = 'S' AND NOT CtaCte.Anulado = 'S' AND CtaCte.Fecha <= DateValue ('14/02/2020') AND (f.Pagada = 'N' OR IsNull(Pagada))  GROUP BY f.NroInterno, f.Boca,  f.Tipo,  f.Letra,  f.Numero, f.Moneda, f.MonedaCotizacion, f.Obs, f.Fecha  ORDER BY f.Fecha, f.Letra, f.Boca, f.Numero";
$resultado = $conexion->query($consulta);
 
?>
<style type="text/css">
<!--
.Estilo1 {
    font-family: Calibri;
    font-weight: bold;
}
-->
</style>
 
<div>
    <div align="center">
      <table border="1">
        <thead>
          <td><div align="center" class="Estilo1">BOCA</div></td>
          <td><div align="center" class="Estilo1">FACTURA</div></td>
          <td><div align="center" class="Estilo1">LETRA</div></td>
            <td><div align="center" class="Estilo1">FECHA EMISION</div></td>
            <td><div align="center" class="Estilo1">OBSERVACIONES</div></td>
            <td><div align="center" class="Estilo1">SALDO PENDIENTE</div></td>
          </thead>
          <tbody>
 
<?php
while($fila = mysqli_fetch_array($resultado))
{
?>
            <tr>
                <td><?php echo ($fila['Boca'] );?></td>
                <td><?php echo ($fila['Numero'] );?></td>
                <td><?php echo ($fila['Letra'] );?></td>
                <td><?php echo date("d.m.y", strtotime($fila['Fecha']));?></td>
                <td><?php echo ($fila['Obs']);?></td>
                <td><?php echo ($fila['Saldo']);?></td>
                  </tr>
  <?php
}
echo $fechaActual;
?>
          </tbody>
        </table>
    </div>
</div>

Segunda consulta
1
SELECT CtaCte.IdCtaCte, CtaCte.IdCobroPago, CtaCte.Operacion     , CtaCte.Debe, CtaCte.Haber, CtaCte.Cuota     , CobrosPagos.Tipo, CobrosPagos.Letra, CobrosPagos.Boca     , CobrosPagos.Recibo, CobrosPagos.Fecha, CtaCte.Moneda FROM CtaCte, CobrosPagos WHERE CtaCte.IdCobroPago = CobrosPagos.IdCobroPago AND CtaCte.IdCliente = 422 AND CtaCte.Operacion = 'CO' AND CobrosPagos.Tipo IN (8) AND CtaCte.Anulado <> 'S' AND CtaCte.IdFactura = 0 AND CtaCte.IdFactura2 = 0 AND CobrosPagos.Anulado <> 'S' AND CobrosPagos.Empresa = 1 AND CobrosPagos.Sucursal = 2 AND CobrosPagos.NroCaja = 0  AND ( CobrosPagos.Fecha <= DATEVALUE('17/02/2020'))  ORDER BY CobrosPagos.Fecha, CobrosPagos.Letra        , CobrosPagos.Boca, CobrosPagos.Recibo        , CtaCte.Cuota
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

Publicado por Julio (830 intervenciones) el 18/02/2020 16:30:38
Hola.

Me he perdido un poco con tu explicación, lo siento. Pero sobreentiendo que lo que necesitas no es mejorar el PHP, sino conseguir una consulta SQL que he obtenga los valores que ya tienes junto a ese nuevo valor "haber", ¿cierto?

Una pregunta, ¿ese SUM te lo está haciendo bien? Y, por último, si quieres colocarle el caracter $ cuando lo muestres, colócalo directamente antes de </td>.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

Publicado por alexissanjaun (3 intervenciones) el 18/02/2020 19:20:52
Bien, si exacto, expuse el codgio php completo incluyendo la primer consulta la cual me arroja facturas adeudadas y notas de credito a favor del cliente. Pero me esta faltando agregar (al codigo php) la otra query que anexo, la cual que devuelve saldo positvo para el cliente "haber" (por ejemplo de un pago que "sobro dinero" (dinero a cuenta)), pero no se como incluir la segunda query... por otro lado de la primer consulta (que se encuentra en el codigo php) me arroja una columna que es "saldo" eso necesito sumarlo y arrojar un "total" osea todos que el cliente adeuda "saldo" - lo que tiene a favor "haber" (segunda consulta).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

Publicado por Julio (830 intervenciones) el 18/02/2020 20:41:21
Hola.

Entonces no te suma nada, ¿verdad? Como veo en la consulta que pones una suma no sé si te la hacía.

Tienes que hacer un JOIN para juntar las dos tablas, no vale con ponerlas ambas en el FROM, sino que tienes que juntarlas por alguno de los valores con los que se relacionan (normalmente el identificador).

¿Sabes a lo que me refiero?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

Publicado por alexissanjaun (3 intervenciones) el 18/02/2020 21:59:16
No, no se como realizar la suma de "saldo". Por otro lado con respecto al JOIN que me comentas, no comprendo como realizarlo. El el simbolo "$" lo solucione como me sugeriste. Muchas gracias por eso y por tomarte el tiempo de leer y comentar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

Publicado por Julio (830 intervenciones) el 18/02/2020 22:09:31
Ahora me pillas que no te lo puedo mirar hasta mañana, pero si nadie te ha podido ayudar a ver si mañana te hago un ejemplo del JOIN.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

multiple consulta con mysql php y volcado en tabla, como colocar simbolo $ y realizar suma en result

Publicado por Julio (830 intervenciones) el 19/02/2020 08:48:36
Hola.

Te comento lo del JOIN. Básicamente imagina que tienes dos tablas así:

Tabla "personas"
ID Nombre
1 Pedro
2 Pablo
3 Juan
4 Miguel

Tabla "compras"
ID ID_persona Compra
1 2 Ha comprado un billete de avión
2 3 Ha comprado un coche
3 2 Ha comprado una lavadora
4 1 Ha comprado una entrada al cine
5 4 Ha comprado un videojuego
6 3 Ha comprado una sillita de bebé para el coche

Imagínate que quieres obtener lo que ha comprado Pablo, con ID 2. Para ello tendrás que "unir" las tablas con el JOIN y la consulta sería algo así:

1
SELECT p.Nombre, c.Compra FROM personas AS p JOIN compras AS c ON p.ID = c.ID_persona WHERE p.Nombre = "Pablo"

O sea, se leería "dame el nombre y las compras de personas junto a compras donde el identificador de la persona sea igual al identificador de la persona en la compra para la persona Pablo". En pocas palabras, estás juntando (JOIN) la tabla "personas" con la tabla "compras" con la condición (ON) de que el ID de la persona sea el ID de la persona guardado en la compra. Esta consulta te daría una tabla de respuesta así:

p.Nombre c.Compra
Pablo Ha comprado un billete de avión
Pablo Ha comprado una lavadora

No sé si me he explicado bien.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar