PHP - hacer update de varios registros

 
Vista:
sin imagen de perfil

hacer update de varios registros

Publicado por Lolita (10 intervenciones) el 13/08/2014 21:10:31
Hola estoy intentando hacer un update de una tabla de precios dependiendo del descuento. Si lo actualizo se debe actualizar todos los precios de los articulos, lo tengo asi pero me pone en 0 los precios. Puse echos para ver si las variables traen numeros y si traen, solo al momento del update no pone nada.
-----------------------------------------------------------------------------------------------------------------------------------------
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
<?php include ('header.php');
 
conectar();
 
 $total=$_POST['cant'];
 $newDesc=$_POST['descuento'];
 
 for($i=1; $i<= $total; $i++){
 
     $precioVta=$_POST['precioVta'.$i];   $id='id'.$i;
     echo "id articulo ".$id; echo "  PRECIO VTA".$precioVta; echo "<br>";
 
     $descuento=$precioVta*($newDesc/100);
     echo "decuento total".$descuento; echo "<br>";
 
     $newPrecioWeb=$precioVta-$descuento;
     echo "new precio web".$newPrecioWeb; echo "<br>";
 
 
    //Actualizo los precios de los artículos aplicando el nuevo descuento
        dbconsulta("UPDATE InvArticulos SET nPrecioWeb='$_POST[$newPrecioWeb]'
                              WHERE   idArticulo='$_POST[$id]'");
 
 }
//Actualizo el descuento en su tabla
 dbconsulta("UPDATE CnfDescuento SET nDescuento='$_POST[descuento]'");
 
desconectar();
?>

-------------------------------------------------------------------------------------------------------------------
PONGO LA PARTE DONDE MUESTRO MI TABLA CON LOS PRECIOS, CUANDO HACE UPDATE ME VUELVE A MOSTRAR LA TABLA CON LOS PRECIOS ACTUALIZADOS.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<tr><td width="30">ID</td><td>Nombre</td><td>Precio venta</td><td>Precio web</td></tr>
<?php
  $num=0;
 
  while ($articulo=obtenObjects($articulos)){
         $num++; $par=false;
 
         if($num%2==0){
            $par=true;
         }?>
	<tr <?php if($par){echo 'class="par"';}else{echo 'class="impar"';}?>>
        <td><input name="id<?php echo $num;?>" value="<?php echo $articulo['nSystem'];?>" onFocus="blur()" class="num"></td>
	<td><input name="nombre<?php echo $num;?>" value="<?php echo $articulo['cNombre'];?>" class="nombre"></td>
 
	<td><input name="precioVta<?php echo $num;?>"  value="<?php echo $articulo['nPrecioVta'];?>"></td>
	<td><input name="precioWeb<?php echo $num;?>"  value="<?php echo $articulo['nPrecioWeb'];?>"></td>
	</tr>
 
<?php } ?>
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
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

hacer update de varios registros

Publicado por xve (6935 intervenciones) el 13/08/2014 21:49:56
Hola Lolita, entiendo que los campos son numéricos, verdad?

Prueba a quitar las comillas simples, algo así:
1
2
dbconsulta("UPDATE InvArticulos SET nPrecioWeb=".$_POST[$newPrecioWeb]."
                              WHERE   idArticulo=".$_POST[$id]);

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

hacer update de varios registros

Publicado por Lolita (10 intervenciones) el 13/08/2014 22:26:23
Si, son numericos, bueno el newPrecioWeb es int. Ya lo puse de esa manera pero no sale nada, y lo puse asi tambien:

1
2
dbconsulta("UPDATE InvArticulos SET nPrecioWeb=".$_POST[$newPrecioWeb]."
                      WHERE   idArticulo=".$_POST[$id]."");

y me marca error :/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

hacer update de varios registros

Publicado por xve (6935 intervenciones) el 14/08/2014 10:13:26
Lolita, si haces un:
1
echo "UPDATE InvArticulos SET nPrecioWeb=".$_POST[$newPrecioWeb]." WHERE idArticulo=".$_POST[$id];

Que te devuelve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar