PHP - Problema con codigo PHP

   
Vista:
Imágen de perfil de Jorge

Problema con codigo PHP

Publicado por Jorge (42 intervenciones) el 08/08/2015 00:17:02
Hola a todos!! tengo una consultado, llevo varios días dándole vueltas y no consigo hacerlo funcionar como yo quisiera...

Este código lista en pantalla unos productos que tengo almacenados en la base de datos pero no logro hacerlo funcionar como quisiera...

A ver si me se explicar... con este código lo que hago es comparar precios de productos, en la base de datos, en la columna "id_t" hay un valor numérico. ahora pues todos los productos con el mismo valor se suman y se muestran como un resultado, por ejemplo tengo 3 productos con el valor "5" en al columna "id_t" como veréis y en pantalla sale un resultado que pone ORDENADOR PHOENIX SMART INTE... - 232.53 € - 243.66 € - 3 precios - ... no se por que ese es el único que sale correctamente.. el que compara 6 productos que son el id_t con el valor "4" y el que compara 84 productos (los productos con valor 2 en id_t) en pantalla salen repetidos si se fijan. y ademas en el que tiene 84 resultados me da resultados erróneos en la comparación de precios: 0.34 € a 98.55... existen productos con el valor "2" en id_t de hasta 700 €.. el que tiene valor 24 en id_t nada mas es un producto y sale correctamente..

a ver si alguien sabría ver donde esta el error, o como hacerlo correctamente muchas gracias de antemano dejo código y imágenes:

p1
p2

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
<?php
$consulta = "SELECT * FROM todos_los_productos";
$resultado = mysql_query($consulta, $conexion) or die(mysql_error());
echo "<table border=\"0\">";
$table = "0";
$flotante = "0";
while($fetch = mysql_fetch_assoc($resultado)){
$sql="SELECT * FROM todos_los_productos where id_t='".$fetch["id_t"]."'";
$r=mysql_query($sql);
$prices=mysql_num_rows($r);
 
if($d !== $fetch["id_t"]){
	if($c == $fetch["id_t"]) { echo "hola"; } else {
$sql="SELECT MAX(precio) FROM todos_los_productos where id_t='".$fetch["id_t"]."'";
$result=mysql_query($sql, $conexion);
$price_max=mysql_fetch_row($result);
$sql="SELECT MIN(precio) FROM todos_los_productos where id_t='".$fetch["id_t"]."'";
$result=mysql_query($sql, $conexion);
$price_min=mysql_fetch_row($result);
$cadena = $fetch["descripcion"];
if(strlen($cadena) > 50){
   $descripcion = substr($cadena,0,50)." ... más";
}
else { $descripcion = $fetch["descripcion"]; }
 
$cadena = $fetch["nombre"];
if(strlen($cadena) > 28){
   $nombre = substr($cadena,0,28)."...";
}
else { $nombre = $fetch["nombre"]; }
if ($table == 0) { echo "<tr>"; }
$extdatos="SELECT * FROM tiendas where tienda='".$fetch["tienda"]."'";
$result1=mysql_query($extdatos, $conexion);
$fetch1 = mysql_fetch_array($result1);
$logo = $fetch1['logo'];
$opiniones = $fetch1['opiniones'];
echo "<td width=\"500px\" valign=\"top\" style=\"padding-left:20px; border-left:1px solid #ccc; font-size:13px; text-align:center;\"><div style=\"margin-bottom:50px;\"><a href=\"#\" title=\"".$fetch["nombre"]."\"><img src=\"".$fetch["img"]."\" style=\"width:180px; height=:180px; margin-bottom:8px;\" alt=\"".$fetch["nombre"]."\"></a><h3><a href=\"#\" title=\"".$fetch["nombre"]."\">$nombre</a></h3>
    "; if(strlen($cadena) > 40){ echo "<p style=\"color:#909090; margin-top:-10px;\"><div id=\"primero\"><span style=\"font-size:12px; color:#A2A2A2; cursor: help;\">$descripcion</span><div class=\"primero\">".$fetch["descripcion"]."
</div></div></p>"; } else { echo"<p style=\"color:#909090; margin-top:2px;\"><span style=\"font-size:12px; color:#A2A2A2; cursor: help;\">$descripcion</span></p>"; } if ($prices > 1)  { echo "<span class=\"price\" \">$price_min[0]- $price_max[0]</span><br/><br/>"; } else { echo "<span class=\"price\">".$fetch["precio"]." €</span><br/><br/><div class=\"boton2\" style=\"margin:0 auto;\">Ver oferta ></div><br/>"; }  if ($prices > 1) { echo "<div class=\"boton1\" style=\"margin:0 auto;\">Comparar precios ></div><span style=\" font-weight:700; font-size:12px; color:#909090;\">$prices precios</span>"; $c = $fetch["id_t"]; } else { if ($fetch["disponibilidad"] == "0") { echo "<span style=\"color:#999999;\">Disponibilidad:</span> Consultar en la tienda<br/>"; } else { echo "<span style=\"color:#999999;\">Disponibilidad:</span> ".$fetch["disponibilidad"]."<br/>"; } if ($fetch["gastos_envio"] == "0") { echo "<span style=\"color:#999999;\">Gastos de envío:</span> Consultar en la tienda"; } elseif ($fetch["gastos_envio"] == "1") { echo "<span style=\"color:#999999;\">Gastos de envío:</span> Envío gratuito"; } else { echo "<span style=\"color:#999999;\">Gastos de envío:</span> ".$fetch["gastos_envio"]." €"; } echo "<br/><br/><img src=\"$logo\"><br/><a href=\"#\" title=\"Ver valoraciones\">".$fetch1["valoraciones"]." valoraciones</a> <a href=\"#\" title=\"Ver valoraciones\"><img src=\"images/rating3.png\" alt=\"valoraciones\"></a>"; } } echo "<div class=\"clearfloat\"></div></div></td>";
$table ++;
$flotante ++;
if ($table > 2) { $table = 0; echo "</tr>"; }
}
if ($prices > 1) { $d = $fetch["id_t"]; } else { unset($d); }
}
?>
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