Foros del Web » Programando para Internet » PHP »

Problema con valores duplicados

Estas en el tema de Problema con valores duplicados en el foro de PHP en Foros del Web. Hola buenos días, cordial saludo. Tengo dos archivos php donde en uno hago una consulta por ambiente para mostrar la cantidad de articulos utilizados por ...
  #1 (permalink)  
Antiguo 24/03/2015, 11:20
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 1 mes
Puntos: 0
Problema con valores duplicados

Hola buenos días, cordial saludo. Tengo dos archivos php donde en uno hago una consulta por ambiente para mostrar la cantidad de articulos utilizados por el ambiente multiplicado por un precio definido. Esta consulta la realizo por medio de una fecha inicial y una fecha final. Aqui esta el codigo:

Archivo GenerarReporteMDM.php

<?php
session_start();
if($_SESSION["usuario"]){
$con = mysql_connect("localhost","root","");
mysql_select_db("lavanderia",$con);

$fi=$_POST["fechaInicinal"];
$ff=$_POST["fechaFinal"];
$ambiente=$_POST["ambiente"];

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Reporte Manteleria</title>
</head>
<body>
<p><a href="menu.php">Menu</a></p>
<div id="apDiv3">
<p class="titulo"> Irotama - Lavanderia </p>
<p class="titulo">Reporte Manteleria </p>
</div>

<?php echo "<a href='pdfFacturaReporteM.php?fi=$fi&ff=$ff&ambient e=$ambiente'> Ver en PDF</a>" ?>
<p><a href="salir.php">Cerrar Sesion</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
<div id="apDiv1">&nbsp; <?php echo $fi; echo "&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;"; echo $ff; ?></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>

<?php
$consu1 = mysql_query("select nombreAmbiente from ambiente where idAmbiente = '$ambiente'");
$dato1 = mysql_fetch_array($consu1);
$sql="select idSolicitud from solicitudmanteleria where Ambiente_idAmbiente='$ambiente' and fechaEntrega between '$fi' and '$ff' ";
$res = mysql_query($sql,$con);
?>
</p>
<table width="800" border="1" align="center">
<tr bgcolor="#DDDDDD">
<th colspan="5" scope="col">Ambiente : <?php echo $dato1["nombreAmbiente"]; ?> </th>
</tr>
<tr bgcolor="#DDDDDD">
<th width="340" scope="col">Descripcion</th>
<th width="177" scope="col">Cantidad</th>
<th width="289" scope="col">Valor Unitario</th>
<th width="266" scope="col">Subtotal</th>
</tr>
<?php
$noServilletas = 0;
$noManteles = 0;
$noTapamanchas = 0;
$noFaldellines = 0;
$noFaldon60 = 0;
$noFaldon80 = 0;
$noCajitas = 0;
$noFaldonRectangular = 0;
$noFaldonRedondo = 0;
$noMantelRedondo = 0;
$noForrosCojin = 0;
$noDescartes = 0;


while($dato=mysql_fetch_array($res)){
$idS = $dato["idSolicitud"];
$sql2 = "select cantidadElementoM, descripcionElementoM from elementomanteleria where idSolicitud = $idS";
$res2 = mysql_query($sql2,$con);


while($dato2=mysql_fetch_array($res2)){
if($dato2["descripcionElementoM"]=='SERVILLETAS'){ $noServilletas=$noServilletas+$dato2["cantidadElementoM"]; }
if($dato2["descripcionElementoM"]=='MANTELES'){ $noManteles=$noManteles+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='TAPAMANCHAS'){ $noTapamanchas=$noTapamanchas+$dato2["cantidadElementoM"]; }
if($dato2["descripcionElementoM"]=='FALDELLINES'){ $noFaldellines=$noFaldellines+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='FALDON 60'){ $noFaldon60=$noFaldon60+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='FALDON 80'){ $noFaldon80=$noFaldon80+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='CAJITAS'){ $noCajitas=$noCajitas+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='FALDON RECTANGULAR'){$noFaldonRectangular=$noFaldonRectan gular+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='FALDON REDONDO'){ $noFaldonRedondo=$noFaldonRedondo+$dato2["cantidadElementoM"]; }
if($dato2["descripcionElementoM"]=='MANTEL REDONDO'){ $noMantelRedondo=$noMantelRedondo+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='FORROS DE COJIN'){ $noForrosCojin=$noForrosCojin+$dato2["cantidadElementoM"];}
if($dato2["descripcionElementoM"]=='DESCARTES'){ $noDescartes=$noDescartes+$dato2["cantidadElementoM"];}
}}
?>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Servilletas</td>
<td colspan="1" align="center"><?php echo $noServilletas; ?></td>
<td colspan="1" align="center">$ 140</td>
<td colspan="1" align="center">$ <?php echo ($noServilletas*140);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Manteles</td>
<td colspan="1" align="center"><?php echo $noManteles; ?></td>
<td colspan="1" align="center">$ 400</td>
<td colspan="1" align="center">$ <?php echo ($noManteles*400);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Tapa Manchas</td>
<td colspan="1" align="center"><?php echo $noTapamanchas; ?></td>
<td colspan="1" align="center">$ 150</td>
<td colspan="1" align="center">$ <?php echo ($noTapamanchas*150);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Faldellines</td>
<td colspan="1" align="center"><?php echo $noFaldellines; ?></td>
<td colspan="1" align="center">$ 150</td>
<td colspan="1" align="center">$ <?php echo ($noFaldellines*150);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Faldon 60</td>
<td colspan="1" align="center"><?php echo $noFaldon60; ?></td>
<td colspan="1" align="center">$ 440</td>
<td colspan="1" align="center">$ <?php echo ($noFaldon60*440);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Faldon 80</td>
<td colspan="1" align="center"><?php echo $noFaldon80 ?></td>
<td colspan="1" align="center">$ 440</td>
<td colspan="1" align="center">$ <?php echo ($noFaldon80*440);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Cajitas</td>
<td colspan="1" align="center"><?php echo $noCajitas ?></td>
<td colspan="1" align="center">$ 440</td>
<td colspan="1" align="center">$ <?php echo ($noCajitas*440);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Faldon Rectangular</td>
<td colspan="1" align="center"><?php echo $noFaldonRectangular; ?></td>
<td colspan="1" align="center">$ 440</td>
<td colspan="1" align="center">$ <?php echo ($noFaldonRectangular*440);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Faldon Redondo</td>
<td colspan="1" align="center"><?php echo $noFaldonRedondo; ?></td>
<td colspan="1" align="center">$ 440</td>
<td colspan="1" align="center">$ <?php echo ($noFaldonRedondo*440);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Mantel Redondo</td>
<td colspan="1" align="center"><?php echo $noMantelRedondo; ?></td>
<td colspan="1" align="center">$ 400</td>
<td colspan="1" align="center">$ <?php echo ($noMantelRedondo*400);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Forros de cojin</td>
<td colspan="1" align="center"><?php echo $noForrosCojin; ?></td>
<td colspan="1" align="center">$ 440</td>
<td colspan="1" align="center">$ <?php echo ($noForrosCojin*440);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Descartes</td>
<td colspan="1" align="center"><?php echo $noDescartes; ?></td>
<td colspan="1" align="center">$ 400</td>
<td colspan="1" align="center">$ <?php echo ($noDescartes*400);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="3" align="center"><strong>Total</strong></td>
<td align="center"><strong> $ <?php echo (($noServilletas*140)+($noManteles*400)+($noTapama nchas*150)+($noFaldellines*150)+($noFaldon60*440)+ ($noFaldon80*440)+($noCajitas*440)+($noFaldonRecta ngular*440)+($noFaldonRedondo*440)+($noMantelRedon do*400)+($noForrosCojin*440)+($noDescartes*400));? ></strong></td>
</tr>

</table>

</body>
</html>

<?php
}else{

echo "<script type='text/javascript'>
alert('Usted no esta logueado');
window.location='index.php';
</script>";


}
?>


Ahi todo funciona perfectamente, el problema sucede cuando hago un reporte general de todos los ambientes, en este archivo consulto por fecha inicial y fecha final el total de reportes de cada ambiente, por ejemplo de la fecha 5 de marzo hasta la fecha 19 de marzo en el ambiente de sistemas la suma de todos sus reportes dio $1.500.000 pesos, y ese valor que se sume con el de los demás ambientes para luego dar con un resultado general del monto de todos los ambientes. Lo que sucede es que al momento de hacer esta consulta me muestra el mismo valor para todos los ambientes y la idea es que me muestre distintos valores para cada uno. Les agradeceria que me ayudaran un poco para resolver este problema.
  #2 (permalink)  
Antiguo 24/03/2015, 11:24
 
Fecha de Ingreso: marzo-2015
Mensajes: 2
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Problema con valores duplicados

Aca les dejo el codigo del archivo en donde tengo el problema. Archivo ReporteGeneral.php

Archivo ReporteGeneral.php

<?php
session_start();
if($_SESSION["usuario"]){
$con = mysql_connect("localhost","root","");
mysql_select_db("lavanderia",$con);

$fi=$_POST["fechaInicinal"];
$ff=$_POST["fechaFinal"];
//$ambiente=$_POST["ambiente"];//

?>
<p><a href="menu.php">Menu</a></p>
<div id="apDiv3">
<p class="titulo">Irotama - Lavanderia</p>
<p class="titulo">Reporte General de los Ambientes</p>
</div>
<?php echo "<a href='pdfReporteGeneral.php?fi=$fi&ff=$ff'> Ver en PDF</a>" ?>
<p><a href="salir.php">Cerrar Sesion</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
<div id="apDiv1">&nbsp; <?php echo $fi; echo "&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;"; echo $ff; ?></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>
<?php
$noServilletas=$noManteles=$noTapamanchas=$noFalde llines=$noFaldon60=$noFaldon80=$noCajitas=$noFaldo nRectangular=$noMantelRedondo=$noForrosCojin=$noDe scartes=$noFaldonRedondo=0;
$noServilletas2=$noMantele2=$noTapamanchas2=$noFal dellines2=$noFaldon602=$noFaldon802=$noCajitas2=$n oFaldonRectangular2=$noMantelRedondo2=$noForrosCoj in2=$noDescartes2=$noFaldonRedondo2=0;
$resultado=mysql_query("select * from ambiente");
while ($fila = mysql_fetch_assoc($resultado)) {
$resultado2 = mysql_query("select * from ambiente join solicitudmanteleria on solicitudmanteleria.Ambiente_idAmbiente=ambiente.i dAmbiente join elementomanteleria on (elementomanteleria.idSolicitud=solicitudmanteleri a.idSolicitud) where idAmbiente=".$fila['idAmbiente']." and fechaEntrega between '".$fi."' and '".$ff."'");
while ($fila2=mysql_fetch_assoc($resultado2)) {

$piso12=(($noServilletas*140)+($noManteles*400)+($ noTapamanchas*150)+($noFaldellines*150)+($noFaldon 60*440)+($noFaldon80*440)+($noCajitas*440)+($noFal donRectangular*440)+($noFaldonRedondo*440)+($noMan telRedondo*400)+($noForrosCojin*440)+($noDescartes *400));

$rescoco=(($noServilletas*140)+($noManteles*400)+( $noTapamanchas*150)+($noFaldellines*150)+($noFaldo n60*440)+($noFaldon80*440)+($noCajitas*440)+($noFa ldonRectangular*440)+($noFaldonRedondo*440)+($noMa ntelRedondo*400)+($noForrosCojin*440)+($noDescarte s*400));

$resbuho=(($noServilletas*140)+($noManteles*400)+( $noTapamanchas*150)+($noFaldellines*150)+($noFaldo n60*440)+($noFaldon80*440)+($noCajitas*440)+($noFa ldonRectangular*440)+($noFaldonRedondo*440)+($noMa ntelRedondo*400)+($noForrosCojin*440)+($noDescarte s*400));

$resbarraviva=(($noServilletas*140)+($noManteles*4 00)+($noTapamanchas*150)+($noFaldellines*150)+($no Faldon60*440)+($noFaldon80*440)+($noCajitas*440)+( $noFaldonRectangular*440)+($noFaldonRedondo*440)+( $noMantelRedondo*400)+($noForrosCojin*440)+($noDes cartes*400));

$resbohio=(($noServilletas*140)+($noManteles*400)+ ($noTapamanchas*150)+($noFaldellines*150)+($noFald on60*440)+($noFaldon80*440)+($noCajitas*440)+($noF aldonRectangular*440)+($noFaldonRedondo*440)+($noM antelRedondo*400)+($noForrosCojin*440)+($noDescart es*400));

$roomservice=(($noServilletas*140)+($noManteles*40 0)+($noTapamanchas*150)+($noFaldellines*150)+($noF aldon60*440)+($noFaldon80*440)+($noCajitas*440)+($ noFaldonRectangular*440)+($noFaldonRedondo*440)+($ noMantelRedondo*400)+($noForrosCojin*440)+($noDesc artes*400));

$auditorium=(($noServilletas*140)+($noManteles*400 )+($noTapamanchas*150)+($noFaldellines*150)+($noFa ldon60*440)+($noFaldon80*440)+($noCajitas*440)+($n oFaldonRectangular*440)+($noFaldonRedondo*440)+($n oMantelRedondo*400)+($noForrosCojin*440)+($noDesca rtes*400));

$piso16=(($noServilletas*140)+($noManteles*400)+($ noTapamanchas*150)+($noFaldellines*150)+($noFaldon 60*440)+($noFaldon80*440)+($noCajitas*440)+($noFal donRectangular*440)+($noFaldonRedondo*440)+($noMan telRedondo*400)+($noForrosCojin*440)+($noDescartes *400));

$rescarreta=(($noServilletas*140)+($noManteles*400 )+($noTapamanchas*150)+($noFaldellines*150)+($noFa ldon60*440)+($noFaldon80*440)+($noCajitas*440)+($n oFaldonRectangular*440)+($noFaldonRedondo*440)+($n oMantelRedondo*400)+($noForrosCojin*440)+($noDesca rtes*400));

$central=(($noServilletas*140)+($noManteles*400)+( $noTapamanchas*150)+($noFaldellines*150)+($noFaldo n60*440)+($noFaldon80*440)+($noCajitas*440)+($noFa ldonRectangular*440)+($noFaldonRedondo*440)+($noMa ntelRedondo*400)+($noForrosCojin*440)+($noDescarte s*400));

$chica=(($noServilletas*140)+($noManteles*400)+($n oTapamanchas*150)+($noFaldellines*150)+($noFaldon6 0*440)+($noFaldon80*440)+($noCajitas*440)+($noFald onRectangular*440)+($noFaldonRedondo*440)+($noMant elRedondo*400)+($noForrosCojin*440)+($noDescartes* 400));

$resmasinga=(($noServilletas*140)+($noManteles*400 )+($noTapamanchas*150)+($noFaldellines*150)+($noFa ldon60*440)+($noFaldon80*440)+($noCajitas*440)+($n oFaldonRectangular*440)+($noFaldonRedondo*440)+($n oMantelRedondo*400)+($noForrosCojin*440)+($noDesca rtes*400));

$almacen=(($noServilletas*140)+($noManteles*400)+( $noTapamanchas*150)+($noFaldellines*150)+($noFaldo n60*440)+($noFaldon80*440)+($noCajitas*440)+($noFa ldonRectangular*440)+($noFaldonRedondo*440)+($noMa ntelRedondo*400)+($noForrosCojin*440)+($noDescarte s*400));

$seguridad=(($noServilletas*140)+($noManteles*400) +($noTapamanchas*150)+($noFaldellines*150)+($noFal don60*440)+($noFaldon80*440)+($noCajitas*440)+($no FaldonRectangular*440)+($noFaldonRedondo*440)+($no MantelRedondo*400)+($noForrosCojin*440)+($noDescar tes*400));

$sistemas=(($noServilletas*140)+($noManteles*400)+ ($noTapamanchas*150)+($noFaldellines*150)+($noFald on60*440)+($noFaldon80*440)+($noCajitas*440)+($noF aldonRectangular*440)+($noFaldonRedondo*440)+($noM antelRedondo*400)+($noForrosCojin*440)+($noDescart es*400));

$resluruaco=(($noServilletas*140)+($noManteles*400 )+($noTapamanchas*150)+($noFaldellines*150)+($noFa ldon60*440)+($noFaldon80*440)+($noCajitas*440)+($n oFaldonRectangular*440)+($noFaldonRedondo*440)+($n oMantelRedondo*400)+($noForrosCojin*440)+($noDesca rtes*400));
}
?>
</p>
<table width="500" border="1" align="center">
<tr bgcolor="#DDDDDD">
<th colspan="5" scope="col">Reporte General de Todos los Ambientes</th>
</tr>
<tr bgcolor="#DDDDDD">
<th width="340" scope="col">Ambiente</th>
<th width="350" scope="col">Subtotal</th>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Piso 12</td>
<td colspan="1" align="center">$<?php echo ($piso12);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Cocos</td>
<td colspan="1" align="center">$<?php echo ($rescoco);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Buho</td>
<td colspan="1" align="center">$<?php echo ($resbuho);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Barra Viva</td>
<td colspan="1" align="center">$<?php echo ($resbarraviva);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Bohio</td>
<td colspan="1" align="center">$<?php echo ($resbohio);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Room Service</td>
<td colspan="1" align="center">$<?php echo ($roomservice);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Auditorium</td>
<td colspan="1" align="center">$<?php echo ($auditorium);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Piso 16</td>
<td colspan="1" align="center">$<?php echo ($piso16);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Carreta</td>
<td colspan="1" align="center">$<?php echo ($rescarreta);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Cocina Central</td>
<td colspan="1" align="center">$<?php echo ($central);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Cocina Chica</td>
<td colspan="1" align="center">$<?php echo ($chica);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Masinga</td>
<td colspan="1" align="center">$<?php echo ($resmasinga);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Almacen</td>
<td colspan="1" align="center">$<?php echo ($almacen);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Seguridad</td>
<td colspan="1" align="center">$<?php echo ($seguridad);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Sistemas</td>
<td colspan="1" align="center">$<?php echo ($sistemas);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center">Restaurante Luruaco</td>
<td colspan="1" align="center">$<?php echo ($resluruaco);?></td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="1" align="center"><strong>Total</strong></td>
<td colspan="1" align="center"><strong>$ <?php echo (($piso12)+($rescoco)+($resbuho)+($resbarraviva)+( $resbohio)+($roomservice)+($auditorium)+($piso16)+ ($rescarreta)+($central)+($chica)+($resmasinga)+($ almacen)+($seguridad)+($sistemas)+($resluruaco));? ></strong></td>
</tr>
</table>
</body>
</html>
<?php
}
?>
  #3 (permalink)  
Antiguo 24/03/2015, 11:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con valores duplicados

PHP es OFF TOPIC en los foros de Base de Datos. En estos no se tratan temas de programación, solo SQL.
Muevo el postre al foro de PHP para que te asistan y ver si el problema es de PHP. Si surgen dificultades con el SQL pregunta aquí, en MySQL, pero postea sólo SQL, no Otras cosas.

Movido a PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: duplicados, fecha, mysql, select, sql
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 17:58.