Foros del Web » Programando para Internet » PHP »

Problemas con un select

Estas en el tema de Problemas con un select en el foro de PHP en Foros del Web. Hola, hago todo esto para sacar de una tabla unos datos colocados entre guiones, pero luego al sumar sus precios correspondientes parace como si se ...
  #1 (permalink)  
Antiguo 19/07/2003, 09:29
ivanff
Invitado
 
Mensajes: n/a
Puntos:
Problemas con un select

Hola, hago todo esto para sacar de una tabla unos datos colocados entre guiones, pero luego al sumar sus precios correspondientes parace como si se superpusieran todos los precios en vez de ir consulta a consulta. Alguién ve algun fallo?
Código PHP:

$resultado 
mysql_query("SELECT * FROM pedidos where id_sesion='$id_sesion'",$conexion);
while (
$row mysql_fetch_array($resultado))
{    

$array explode("-"$row["extras"]);
        
            for (
$a 0$a sizeof($array); ++$a)
                {
                    
$resultado3 mysql_query("SELECT * FROM extras where id_extra='$array[$a]'",$conexion);
                    while (
$row3 mysql_fetch_array($resultado3))
                        {
                            echo 
" ".$row3["nombre"]."<strong> ".$row3["opcion"]."</strong> por ".$row3["precio"].",00 € al mes<br>";
                            
$tot3+= $row3["precio"];
                        }
                }
        echo 
"Total de extras : ".$tot3.",00 € al mes"
  #2 (permalink)  
Antiguo 19/07/2003, 09:36
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Como es que se superponen? a que te refieres?
__________________
Manoloweb
  #3 (permalink)  
Antiguo 19/07/2003, 09:57
ivanff
Invitado
 
Mensajes: n/a
Puntos:
Código PHP:
<?
$resultado 
mysql_query("SELECT * FROM pedidos where id_sesion='$id_sesion'",$conexion);
while (
$row mysql_fetch_array($resultado))
{    
    echo 
"<tr>";
    
    
$resultado2 mysql_query("SELECT * FROM servidores where id_server='$row[id_server]'",$conexion);
    while (
$row2 mysql_fetch_array($resultado2))
        {
            echo 
"<td>".$row2["nombre"].": ".$row2["descripcion"]."</td><td>".$row["meses"]."</td>";
            
$tot2$row["meses"] * $row2["precio"];
            echo 
"<td>";
            
$array explode("-"$row["extras"]);
        
            for (
$a 0$a sizeof($array); ++$a)
                {
                    
$resultado3 mysql_query("SELECT * FROM extras where id_extra='$array[$a]'",$conexion);
                    while (
$row3 mysql_fetch_array($resultado3))
                        {
                            echo 
" ".$row3["nombre"]."<strong> ".$row3["opcion"]."</strong> por ".$row3["precio"].",00 € al mes<br>";
                            
$tot3+= $row3["precio"];
                        }
                }
        echo 
"Total de extras : ".$tot3.",00 € al mes";
        echo 
"</td>";
        
$tot $tot2 $tot3;
        echo 
"<td>Total a pagar por el servidor: ".$tot.",00 €</td></tr>";
        
$total+= $tot;
        }
    
}

Me refiero que el array lo hago varias veces para los distintos productos que hay, pero al ir acumulando en el carro de compra el $tot3 se muestra como la suma de los precios de todos los arrays y no solo de los especificos de cada producto.
  #4 (permalink)  
Antiguo 19/07/2003, 10:02
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Ahhh...

Entonces lo que debes hacer es quitarle el valor al final de cada vuelta (o al principio...)

$tot3=0;

Así "reseteas" la variable para cada producto...
__________________
Manoloweb
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 15:30.