Ir al contenido


Foto

Promedios en php


  • Por favor identifícate para responder
2 respuestas en este tema

#1 ayudante

ayudante

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 13 marzo 2014 - 11:04

Buenas noches amigos tengo el  siguiente problema el cual hasta el dia de hoy no logro solucionar espero puedad brindarme la ayuda , ya que soy nuevo en todo ese gran mundo de la pagración web .
se me pide lo siguiente
Crear pagina web que permita mostrar(en una tabla Html) el codigo,descripcion,unidades y
precio de todos aquellos productos cuyo precio sea mayor que el precio promedio y
pertenezcan a una categoria cuyo nombre es ingresado en un cuadro de texto de la pagina html
La idea que mantenjo es la siguiente pero lo que me muestra es todos los producto de las categoria

Estoy Trabajando con Mysql y dos tablas Producto y la otra Categoria


delphi
  1. <?php
  2. $promedio="";
  3. $precio="";
  4. $nomcat = $_POST["Categoria"];
  5. $cn = mysql_connect("localhost", "root", "");
  6. if(!$cn)
  7. die("No se pudo realizar la conexi&oacute;n al servidor");
  8. $bd = mysql_select_db("BdEmpresaABC", $cn);
  9. if(!$bd)
  10. die("No se pudo conectar a la base de datos");
  11. //original/$comando = "SELECT * FROM Producto WHERE CodCateg = (SELECT CodCat FROM Categoria WHERE Descripcion ='".$nomcat."')";
  12. //$comando="Select *from Producto WHERE CodCateg = (SELECT CodCat FROM Categoria WHERE Descripcion ='".$nomcat."'and Precio>avg(Precio))";
  13.  
  14. $promedio= "SELECT avg(Precio)FROM Producto WHERE CodCateg = (SELECT CodCat FROM Categoria WHERE Descripcion ='".$nomcat."')";
  15. $precio="SELECT Precio from Producto WHERE CodCateg = (SELECT CodCat FROM Categoria WHERE Descripcion ='".$nomcat."')";
  16. if($promedio>$precio)
  17. {
  18. $comando="SELECT*FROM Producto WHERE CodCateg = (SELECT CodCat FROM Categoria WHERE Descripcion ='".$nomcat."')";
  19. $rs = mysql_query($comando, $cn);
  20.  
  21. if($rs )
  22. {
  23. $numfilas = mysql_num_rows($rs);
  24. if($numfilas>0)
  25. {
  26. echo "Los productos de la Categoria " .$nomcat. " Con Precio  mayor al Promedio de ".$promedio. "son: <BR>";
  27. echo "<TABLE BORDER = 1>";
  28. echo "<TR><TH> Código <TH> Descripcion <TH> Unidades <TH> Precio </TR>";
  29. for($i = 0; $i < $numfilas; $i++)
  30. {
  31. echo "<TR><TD>".mysql_result($rs, $i, 0)."<TD>".mysql_result($rs, $i, 1)."<TD>".mysql_result($rs, $i, 2)."<TD>".mysql_result($rs, $i, 3)."</TR>";
  32. }
  33. echo "</TABLE>";
  34. }
  35. else
  36. echo "Esta categoria no tiene productos";
  37. }
  38.  
  39.  
  40. else
  41. echo "Se produjo un error";
  42. mysql_free_result($rs);
  43. mysql_close();
  44. }
  45. else
  46. echo"NO Hay";


  • 0

#2 porfi.dev

porfi.dev

    Advanced Member

  • Miembros
  • PipPipPip
  • 183 mensajes
  • LocationMy House @ México

Escrito 15 marzo 2014 - 08:11

necesitariamos el SQL de la estructura de tu BD con algunos datos amigos para poder ayudarte a generar la consulta correcta.

Saludos  ;)
  • 0

#3 Bish0p

Bish0p

    Advanced Member

  • Miembros
  • PipPipPip
  • 64 mensajes
  • LocationMéxico, DF

Escrito 24 marzo 2014 - 12:05

Hola amigo

para empezar tienes que corregir la parte que dice :


delphi
  1.   $promedio= "SELECT avg(Precio)FROM Producto WHERE CodCateg = (SELECT CodCat FROM Categoria WHERE Descripcion ='".$nomcat."')";
  2.     $precio="SELECT Precio from Producto WHERE CodCateg = (SELECT CodCat FROM Categoria WHERE Descripcion ='".$nomcat."')";
  3.     if($promedio>$precio)
  4.     { ....


ya que no estas ejecutando las consultas en la base, es decir, solo estas comparando 2 cadenas,


Saludos
  • 0




IP.Board spam blocked by CleanTalk.