Imprimir datos mysql con tablas

  • Autor Autor hamedm
  • Fecha de inicio Fecha de inicio
H

hamedm

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas Noches Forobetanos y Programadores.

Vengo esta noche con esta duda que no he podido solucionar.
Tengo una tabla Inventario donde tengo el id del producto, el fab_id(me indica en cual fabrica fue producida) y el alm_id(en que almacén se encuentra)
Captura.webp
Sin embargo yo para tener un inventario bien realizado, necesito la suma de todas las unidades por producto en cada fabrica y asi lo estaba realizando
PHP:
<?php 
    require ("cabecera.php"); 
?>
<div class="box">
<?php 
    if(($rango=="1") || ($rango=="4") || ($rango=="5")){
?>
<a href="entrada-fabrica.php">
    <div class="entrada-fabrica" style="text-align:center;width:150px;height:25px;color:white;padding:5px;background:#4A235A;border-color:white 5px; border-radius:5px;margin-left:85%;">
        Entradas en Fabrica
    </div>
</a>
<div>
    <p>
    <h2>Productos actuales:</h2>
<form method="post" action="">
    <table width="98%" border="1">
        <thead>
            <tr>
                <td>Categoria:</td>
                <td>Referencia:</td>
                <td>Dise&ntilde;o:</td>
                <?php
                    $datos1 = mysql_query("SELECT * FROM Fabrica ");
                    while($row1 = mysql_fetch_array($datos1)) {
                ?>
                <td>Cantidad Fabrica <?php echo $row1["fab_nombre"]; ?> :</td>
                <?php
                    }
                ?>
                <?php
                    $datos2 = mysql_query("SELECT * FROM Almacen ");
                    while($row2 = mysql_fetch_array($datos2)) {
                ?>
                <td>Cantidad Almacen <?php echo $row2["alm_nombre"]; ?> :</td>
                <?php
                    }
                ?>
                <td>Cantidad Total:</td>
            </tr>
        </thead>
        <tbody>
        <?php
            $datos3 = mysql_query("SELECT Producto.*, Diseno.*, Referencia.*, Categoria.* FROM Inventario NATURAL JOIN Almacen NATURAL JOIN Fabrica NATURAL JOIN Producto NATURAL JOIN Diseno NATURAL JOIN Referencia NATURAL JOIN Categoria ");
            while($row3 = mysql_fetch_array($datos3)) {
        ?>
            <tr>
                <td><?php echo $row["cat_nombre"]; ?></td>
                <td><?php echo $row["ref_nombre"]; ?></td>
                <td><?php echo $row["dis_nombre"]; ?></td>
                <?php
                    $datos = mysql_query("SELECT SUM(inv_cantidad) AS cantidadfabrica FROM Inventario WHERE fab_id=****);
                    while($row = mysql_fetch_array($datos)) {
                ?>
                <td>Cantidad Fabrica <?php echo $row["cantidadfabrica"]; ?> :</td>
                <?php
                    }
                ?>
                <td><?php echo $row["pro_nombre"]; ?></td>
                <td><?php echo $row["pro_precio"]; ?></td>
                <td><?php echo $row["pro_descripcion"]; ?></td>
            </tr>
        <?php
            }
        ?>
        </tbody>
    </table>
<?php 
        }
?>
</form>
</p>
</div>
<?php
    //Mostramos el final de la pagina
    echo $fxnl;
?>
Sin embargo en este caso no se que hacer para que me realice la consulta respectiva <?php
$datos = mysql_query("SELECT SUM(inv_cantidad) AS cantidadfabrica FROM Inventario WHERE fab_id=****);
while($row = mysql_fetch_array($datos)) {
?>
<td>Cantidad Fabrica <?php echo $row["cantidadfabrica"]; ?> :</td>
<?php
}
?>
y me imprima la suma de las unidades del producto fabricado en la fabrica tal de acuerdo a la tabla.
Captura1.webp

Les agradezco si me ayudan. No puedo dormir si no soluciono el problema.
Gracias a todos.
 
Entonces con los Id que mencionas va y consulta en otra tabla??
Si es ese el caso tendrias que sacar los ids de los campos que requieras dentro del while y acomodarle en una nueva consulta dentro del mismo
 
La verdad que no entiendo del todo, para empezar ¿lo que tienes no te funciona?

Independiente de ello si medio entendí el problema entonces cre que con Group by tal vez se puede resolver
 
Atrás
Arriba