Foros del Web » Programando para Internet » PHP »

Porque no me almacena la suma ?????

Estas en el tema de Porque no me almacena la suma ????? en el foro de PHP en Foros del Web. Hola: Porque en este código no me saca el precio total ?? el precio se pasa conforme el cliente selecciona un artículo Código PHP: <?php ...
  #1 (permalink)  
Antiguo 10/07/2007, 19:32
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Porque no me almacena la suma ?????

Hola:

Porque en este código no me saca el precio total ?? el precio se pasa conforme el cliente selecciona un artículo

Código PHP:
<?php
$precio
=array($_POST['prec']);
            
                 
$prectot=0;
                 foreach(
$precio as $pre)
                      {
                      if(
$pre!=0)
                       {
                         
$prectot=$prectot+$pre;
                       }                      
             
?>  
              <input name="precio" type="text" id="precio" value="<?php echo $prectot?>" size="10">
              </font></td>
              <?php
                     
}
             
?>
  #2 (permalink)  
Antiguo 10/07/2007, 20:32
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Porque no me almacena la suma ?????

Prueba poniendo
Código PHP:
if($pre!==0
en vez de
Código PHP:
if($pre!=0
Un saludo,
  #3 (permalink)  
Antiguo 11/07/2007, 11:14
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Porque no me almacena la suma ?????

Gracias aunque no me funcionó.

Alguien mas que pueda ayudarme ?
  #4 (permalink)  
Antiguo 11/07/2007, 11:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Porque no me almacena la suma ?????

Prueba hacer un var_dump( $precio) para que veas si tienes bien estructurado tu arreglo.

Saludos.
  #5 (permalink)  
Antiguo 11/07/2007, 11:46
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Porque no me almacena la suma ?????

al parecer el problema no radica en el código que muestras, para pasar arreglos debes de tener algo como esto:
pagina1.php
Código HTML:
<form action="pagina2.php" method="post">
<input type="text" name="prec[]" value="1">
<input type="text" name="prec[]" value="2">
<input type="text" name="prec[]" value="3">
<input type="submit" value="enviar">
</form> 
fijate que se agregaron los [] (corchetes) y ya con esto puedes intentar utilizar esto
pagina2.php
Código PHP:
<?php
$precio
=$_POST['prec'];//ya no se asigna a un arreglo porque ya viene como tal
$prectot=0;
foreach(
$precio as $clave => $pre)
    {
        if(
$pre!=0)
            {
                
$prectot+=$pre;
            }
 
?>  
  <input name="precio" type="text" id="precio" value="<?php echo $prectot?>" size="10">
  </font></td>
  <?php
         
}
 
?>
suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 11/07/2007, 12:14
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Re: Porque no me almacena la suma ?????

Hola eits:

Lamentablemente no me sirve esto,no mando todos los datos a la vez, es decir, si de la página resultadosdebusqueda salen 3 articulos y le das clic al boton comprar y te envía uno y después le das clic al otro botón comprar para que te envíe el otro....los datos los envío mediante una función que es esta:

Código PHP:
function agregar($p$nom)
 {
  
$pre=$p;
  
$no=$nom;
  
$conta=0;
  echo 
'<form name="ag" method="post"  target="blank" action="carrocomp.php">';
  echo 
'<input type="submit" name="comp" value="comprar">';
  echo 
'<input type="hidden" name="prec[]" value="'$pre .'">'
  echo 
'<input type="hidden" name="nomb[]" value="' $no '">'
  echo 
'</form>';
 } 
Los datos de $p y $nom son tomados al enviar los argumentos de la funcion agregar($precio, $nombre); como se muestra abajo:

Código PHP:
<?php
            $rescons
="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcion,precio_oferta From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto AND nombre_prod LIKE '%$busqueda%' Order By nombre_prod Desc";
            
$resquery=mysql_query($rescons); 
            
//echo mysql_errno().": ".mysql_error()."<BR>"; echo $rescons;
          
if(mysql_num_rows($resquery)!=0)
            {    
             while(
$filas=mysql_fetch_array($resquery))
              {
              
$precio=$filas[precio_oferta];
?>
        <tr> 
          <td height="61" valign="top" bgcolor="#FFFFFF"><?php echo $nombre=$filas["nombre_prod"]; agregar($precio$nombre);?></td>
          <td valign="top" bgcolor="#FFFFFF"><?php echo $image;?></td>
          <td valign="top" bgcolor="#FFFFFF"><?php echo $filas["descripcion"]; ?></td>
          <td colspan="2" valign="top"><?php echo $filas["caract_tecnolog"] .'<br>''<font color="blue">'"Precio : "$precio'</font>'?> 
          </td>
        </tr>          
          <?php               
             
}
           }          

 
?>
  #7 (permalink)  
Antiguo 12/07/2007, 10:14
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Porque no me almacena la suma ?????

no logro entender lo que pretendes realizar, sin embargo, puedo ver(en lo poco que entiendo) es que realmente no estas pasando arreglos por lo tanto el foreach no te funcionará ademas de que por cada tr que se cree dentro del while estas creando un form con el mismo nombre.

tal vez y digo tal vez porque la verdad es que no tengo tiempo por ahora para hacer unas pruebas, si sacaras el form a lo mejor te pudiera funcionar
Código PHP:
function agregar($p$nom)
 {
  
$pre=$p;
  
$no=$nom;
  
$conta=0;
  echo 
'<input type="hidden" name="prec[]" value="'$pre .'">'
  echo 
'<input type="hidden" name="nomb[]" value="' $no '">'
 } 
y lo pones así
Código PHP:
<form name="ag" method="post"  target="blank" action="carrocomp.php">
<?php
            $rescons
="Select nombre_prod,tiempo_ofer,caract_tecnolog,descripcion,precio_oferta From producto, desc_prod WHERE producto.id_producto=desc_prod.id_producto AND nombre_prod LIKE '%$busqueda%' Order By nombre_prod Desc";
            
$resquery=mysql_query($rescons); 
            
//echo mysql_errno().": ".mysql_error()."<BR>"; echo $rescons;
          
if(mysql_num_rows($resquery)!=0)
            {    
             while(
$filas=mysql_fetch_array($resquery))
              {
              
$precio=$filas[precio_oferta];
?>
        <tr> 
          <td height="61" valign="top" bgcolor="#FFFFFF"><?php echo $nombre=$filas["nombre_prod"]; agregar($precio$nombre);?></td>
          <td valign="top" bgcolor="#FFFFFF"><?php echo $image;?></td>
          <td valign="top" bgcolor="#FFFFFF"><?php echo $filas["descripcion"]; ?></td>
          <td colspan="2" valign="top"><?php echo $filas["caract_tecnolog"] .'<br>''<font color="blue">'"Precio : "$precio'</font>'?> 
          </td>
        </tr>          
          <?php               
             
}
           }          
 
?> 
<input type="submit" name="comp" value="comprar">
</form>
suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 13/07/2007, 13:11
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Re: Porque no me almacena la suma ?????

Hola muchas gracias por su ayuda, ya arregle lo de la suma, saben el problema era una llave q cerraba después de imprimir el $prectot, que tal eeeee!!!

Gacias !!!!!!
  #9 (permalink)  
Antiguo 13/07/2007, 13:32
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
De acuerdo Re: Porque no me almacena la suma ?????

Puedes colocar el script y luego notificar como solucionado el tema...


Gracias.-
  #10 (permalink)  
Antiguo 14/07/2007, 19:16
 
Fecha de Ingreso: marzo-2007
Mensajes: 163
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Re: Porque no me almacena la suma ?????

A petición de xempro:
Código PHP:
<?php
       
foreach($precio as $pre)
                   {
                      if(
$pre!=0)
                       {
                          
$prectot=$prectot+$pre;
                       }
                }                     
             
?>
              <input name="precio" type="text" id="precio" value="<?php echo $prectot?>" size="10" readonly="">
              </font></td>
            <?php
La llave que cierra al foreach la había puesto al final de:
<input name="precio" type="text" id="precio" value="<?php echo $prectot; ?>" size="10" readonly="">

y la puse antes de:
<input name="precio" type="text" id="precio" value="<?php echo $prectot; ?>" size="10" readonly="">
y así me funcionó.
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 13:51.