Inicio Foros Off topic TOTAL POR REPORTE

Mostrando 3 respuestas a los debates
  • Autor
    Respuestas
    • Teresa
      Participant
      Número de entradas: 1

      Hola chicos, buenas noches!
      Disculpen, estoy haciendo mi proyecto de Residencias Profesionales, el día de hoy viernes lo tengo que entregar :fool: pero la verdad aún hay algo que no he logrado hacer y quisiera ver si ustedes pueden ayudarme un poquito.
      Caso: Tengo un sistema de inventarios con PHP y Mysql, como ya sabrán, registra, da entradas y salidas, elimina, modifica y busca artículos. Tengo mi base de datos con las tablas: artículos y movimientos. Para registrar el stock y el total de lo gastado por compras de artículos tengo 2 vistas, una me genera el stock con las entradas, salidas y modificaciones de artículos y otra me genera el total multiplicando el precio del articulo por la cantidad de entrada y se modifica cuando el usuario modifica la cantidad de entrada, después simplemente paso los valores a la tabla de artículos. También tengo una parte en mi sistema, la cual me genera reportes por rango de fechas y artículo, es decir: elijo un artículo y elijo las dos fechas, esto me lanza todos los movimientos que se realizaron entre esas fechas del artículo elegido.
      Problema: Cuando yo hago mi reporte al elegir un artículo de los siguientes (vaso, vasox, vaso1, vaso2, vasoy, plato, cuchara), si elijo vaso, quisiera que el reporte me muestre todos los movimientos que se han realizado pero no solo con vaso, si no también: vasox, vaso1, vaso2, vasoy. Me explico?
      Además, si no es mucho pedir, también les agradecería si me ayudan a sumar el total de los gastos de todos los vasos y mostrarlos en el reporte.

      Yo tengo el siguiente código, el cual solo me arroja los movimientos del articulo que elegí y y las fechas y para hacer la comparación en la base de datos, espero me puedan ayudar, gracias.

      function filtro($articulo,$fecha1, $fecha2){
      $sql="SELECT * FROM movimientos WHERE idArticulo='".$articulo."' AND fechaMovimiento BETWEEN '". $fecha1."' AND '".$fecha2."'";
      $result = mysqli_query($this->conn, $sql);
      if($result){
      echo "






      ";
      while ($row = mysqli_fetch_array($rs)){
      echo "";
      echo "";
      echo "";
      echo "";
      echo "";

      echo "";
      }
      }else{
      echo "No hay resultados.";
      }

      echo "
      Articulo Movimiento Cantidad Observaciones Fecha
      ".$row["articulo"]."".$row["movimiento"]."".$row["cantidad"]."".$row["observaciones"]."".$row["fechaMovimiento"]."
      ";
      }
    • Satyr
      Keymaster
      Número de entradas: 9142

      Muevo a offtopic.

    • Satyr
      Keymaster
      Número de entradas: 9142

      Para poder responder a tu pregunta nos sería necesario ver el esquema relacional, porque así, no sabemos como estan organizadas las tablas.

      ¿Hay algo que relacione a vaso, vaso1, vaso2, vaso3 aparte del nombre? De no ser así, lo lógico sería que si la hubiese (el típico esquema de articulo->articulo con variante o de familias de artículos) y si no la hay, la única forma que vas a tener de mostrarlos será usando LIKEs, lo cual es muy feo.

      Respecto a la otra consulta, es tan fácil como hacer un sum del precio y un group by el resto de campos a mostrar en el reporte pero, de nuevo, necesitaría ver el esquema relacional para poder enseñártelo.

    • rawazarr
      Participant
      Número de entradas: 82

      Hola,

      Una cosilla solamente:

      Mira tu código que es propenso a ataques de sql injection…

      Utiliza mejor stored procedures en la db.

      Tengo muchas ideas en la cabeza, tantas que no puedo si quiera expresarlas.

Mostrando 3 respuestas a los debates
  • Debes estar registrado para responder a este debate.