Foros del Web » Programando para Internet » PHP »

Problema con campo de incremento y decremento

Estas en el tema de Problema con campo de incremento y decremento en el foro de PHP en Foros del Web. La parte señala en rojo quiero que al hacer clic ya sea en el de mas o menos se reste el valor a la cantidad ...
  #1 (permalink)  
Antiguo 03/04/2012, 19:41
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Pregunta Problema con campo de incremento y decremento


La parte señala en rojo quiero que al hacer clic ya sea en el de mas o menos se reste el valor a la cantidad pero que solo afecte al id de la fila el codigo php que tengo hasta ahora es:
Aumentar
Código PHP:
<?php
include ("conexion.php");
$producto $_REQUEST["producto"];
$cantidad $_REQUEST["cantidad"];
$id $_REQUEST["id"];

$consulta "UPDATE inv SET cantidad = (cantidad+1) WHERE id='$id'";
if (
mysql_query($consulta) ){
    echo 
"Registro actualizado";
    
header('Location:inv.php');
}
    echo 
"No se pudo modificar";

?>
Y para disminuir:
Código PHP:
<?php
include ("conexion.php");
$producto $_REQUEST["producto"];
$cantidad $_REQUEST["cantidad"];
$id $_REQUEST["id"];

$consulta "UPDATE inv SET cantidad=(cantidad - 1) WHERE id='$id'";
if (
mysql_query($consulta) ){
    echo 
"Registro actualizado";
    
header('Location:inv.php');
}
    echo 
"No se pudo modificar";

?>
Espero me puedan ayudar alguna duda que tengan me dicen gracias de antemano
Th3C0d3R --

Última edición por Th3C0d3R; 03/04/2012 a las 19:46 Razón: error en titulo
  #2 (permalink)  
Antiguo 03/04/2012, 19:52
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

Ok pero que es lo que hace ? creo que para poder usar esos +1 -1 se debe tener el campo de mysql en numerico!

y otra cosa porque no usas? el mysql_affected_rows();

para saber si la consulta en realidad se ejecuto? en vez de el if que haces con el mysql_query()
  #3 (permalink)  
Antiguo 03/04/2012, 19:55
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
Ok pero que es lo que hace ? creo que para poder usar esos +1 -1 se debe tener el campo de mysql en numerico!

y otra cosa porque no usas? el mysql_affected_rows();

para saber si la consulta en realidad se ejecuto? en vez de el if que haces con el mysql_query()
gracias el valor de cantidad si es de tipo INT esta bien?
y otra cosa donde tengo el if lo quito y pongo lo de mysql_affected_rows?
  #4 (permalink)  
Antiguo 03/04/2012, 20:03
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

ok!....mira la consulta te quedaria asi


Código PHP:
Ver original
  1. mysql_query($consulta) or die(mysql_error());
  2.  
  3. if (mysql_affected_rows() > 0){
  4.     echo "Registro actualizado";
  5.     header('Location:inv.php');
  6. }
  7.     echo "No se pudo modificar";
  8. }
  9.  
  10.  
  11. //asi de esa forma es como va!...es mejor asi

ahora deberia actualizarte lo que haces!....pero pruebalo asi la consulta con eso que te pongo y dices si actualiza o no! si no es eso! es el $_request que de verdad nose pienso q deberias usar $_get[] o $_post[]
  #5 (permalink)  
Antiguo 03/04/2012, 20:10
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
ok!....mira la consulta te quedaria asi


Código PHP:
Ver original
  1. mysql_query($consulta) or die(mysql_error());
  2.  
  3. if (mysql_affected_rows() > 0){
  4.     echo "Registro actualizado";
  5.     header('Location:inv.php');
  6. }
  7.     echo "No se pudo modificar";
  8. }
  9.  
  10.  
  11. //asi de esa forma es como va!...es mejor asi

ahora deberia actualizarte lo que haces!....pero pruebalo asi la consulta con eso que te pongo y dices si actualiza o no! si no es eso! es el $_request que de verdad nose pienso q deberias usar $_get[] o $_post[]
MUchas gracias pero me podrias poner como quedaria todo el codigo completo esque la verdad no entiendo lo debo de cambiar de antemano gracias
  #6 (permalink)  
Antiguo 03/04/2012, 20:28
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

este es el de decrecimiento

Código PHP:
Ver original
  1. <?php
  2. include ("conexion.php");
  3. $producto = $_REQUEST["producto"];
  4. $cantidad = $_REQUEST["cantidad"];
  5. $id = $_REQUEST["id"];
  6.  
  7. $consulta = "UPDATE inv SET cantidad=(cantidad - 1) WHERE id='$id'";
  8. mysql_query($consulta) or die(mysql_error());
  9.  
  10. if (mysql_affected_rows() > 0){
  11.     echo "Registro actualizado";
  12.     header('Location:inv.php');
  13. }
  14.     echo "No se pudo modificar";
  15. }
  16. ?>


crecimiento


Código PHP:
Ver original
  1. <?php
  2. include ("conexion.php");
  3. $producto = $_REQUEST["producto"];
  4. $cantidad = $_REQUEST["cantidad"];
  5. $id = $_REQUEST["id"];
  6.  
  7. $consulta = "UPDATE inv SET cantidad = (cantidad+1) WHERE id='$id'";
  8. mysql_query($consulta) or die(mysql_error());
  9.  
  10. if (mysql_affected_rows() > 0){
  11.     echo "Registro actualizado";
  12.     header('Location:inv.php');
  13. }
  14.     echo "No se pudo modificar";
  15. }
  16.  
  17. ?>
  #7 (permalink)  
Antiguo 03/04/2012, 20:32
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
este es el de decrecimiento

Código PHP:
Ver original
  1. <?php
  2. include ("conexion.php");
  3. $producto = $_REQUEST["producto"];
  4. $cantidad = $_REQUEST["cantidad"];
  5. $id = $_REQUEST["id"];
  6.  
  7. $consulta = "UPDATE inv SET cantidad=(cantidad - 1) WHERE id='$id'";
  8. mysql_query($consulta) or die(mysql_error());
  9.  
  10. if (mysql_affected_rows() > 0){
  11.     echo "Registro actualizado";
  12.     header('Location:inv.php');
  13. }
  14.     echo "No se pudo modificar";
  15. }
  16. ?>


crecimiento


Código PHP:
Ver original
  1. <?php
  2. include ("conexion.php");
  3. $producto = $_REQUEST["producto"];
  4. $cantidad = $_REQUEST["cantidad"];
  5. $id = $_REQUEST["id"];
  6.  
  7. $consulta = "UPDATE inv SET cantidad = (cantidad+1) WHERE id='$id'";
  8. mysql_query($consulta) or die(mysql_error());
  9.  
  10. if (mysql_affected_rows() > 0){
  11.     echo "Registro actualizado";
  12.     header('Location:inv.php');
  13. }
  14.     echo "No se pudo modificar";
  15. }
  16.  
  17. ?>

Muchas gracias pero me da estos errores
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\Inventario\aumentar.php on line 7

sera por el $_REQUEST?
  #8 (permalink)  
Antiguo 03/04/2012, 20:37
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

a ver!...como que si! es eso... pero como tu mandas esos valores? por GET o POST ?
  #9 (permalink)  
Antiguo 03/04/2012, 20:47
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
a ver!...como que si! es eso... pero como tu mandas esos valores? por GET o POST ?
no estoy muy seguro pero este es el codigo del sitio del inventario
Código PHP:
<?php
// se incluye el archivo que provee la conexion a la base de datos 
// y se declara la variable $rst_inventario la cual muestra los datos obtenidos de la tabla inv
include("conexion.php");
$rst_inventario=mysql_query("SELECT * FROM inv",$conexion);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>SIV - Home</title>
       <link href="./css/main.css" rel="stylesheet" ></link>
    <link href="./css/tablas.css" rel="stylesheet" ></link>
    </head>

<body>
    <div id='wrapper'>
        <div id='header'>
        <h1>SIV</h1>
        </div>
        
        <div id='nav'>
            <a href='./'>Inicio</a>
            <a href='./inv.php'>Inventario</a>
            <a href='#'>Panel</a>
        </div>
        
        <div id='content'>
            <div id='left-inv'>
            <!-- Se establece la tabla en la que se mostraran los datos solo los encabezados -->
              <table class="table3" width="921">
                <tr bgcolor="#CCCCCC">
                <form method="post" action="acciones/add_confirm.php">
                  <td width="781">Nombre del producto<input name="producto" type="text" size="70" /></td>
                  <td width="128"><input type="submit" value="Añadir"  /></td> 
                </form>
                </tr>
              </table>
            <?php
            $num_registros
=mysql_num_rows($rst_inventario);
            if (
$num_registros==0)
            {
            echo 
"No se han encontrado productos";
            
mysql_close($conexion);
            exit();
            }
            else
            {}
            
?>
              <table class="table3" width="100%" border="0">
                <tr align="center" valign="middle" bgcolor="#999999">
                  <th scope="col" >ID </th>    
                  <th width="50%" scope="col" >Producto</th>
                  <th width="19%" scope="col">Cantidad</th>
                  <th width="21%" scope="col">Fecha</th>
                  <th width="5%" scope="col">Borrar</th>
                </tr>
                <?php
                
while ($fila=mysql_fetch_array($rst_inventario))
                {
                
?>
                <tr bgcolor="#CCCCCC">
                  <td ><?php echo $fila['id']; ?></td>    
                  <td height="37"><img src="images/Carton.png" width="16" height="16" /><?php echo $fila['producto'];?></td>
                  <td><?php echo $fila['cantidad']; ?><a href="aumentar.php?more=<?php echo $fila['id'];?>">  <img src="images/Add.png"                         alt="Aumentar" width="16" height="16" border="0" />   </a><a href="decrementar.php?less=<?php echo $fila['id'];?>"><img src="images/Minus.png" width="16" height="16" border="0" /></a></td>
                  <td><img src="images/Calender.png" width="16" height="16" /><?php echo $fila['fecha'];?></td>
                  <td><a href="acciones/delete.php?prod=<?php echo $fila['producto'];?>">  <img src="images/Trash.png" width="16" height="16" border="0" align="absmiddle" /></a></td>
                </tr>
                <?php
                
}
                
?>
              </table>
            </div>            
          <div class='clear'></div>
        </div>
        
        <div id='footer'>
            Copyright 2012 <a href='./'>WorkShop.com</a>
        </div>
    </div>
</body>
</html>
Tu me diras que esta mal porque la verdad no estoy muy seguro de que sea el problema
  #10 (permalink)  
Antiguo 03/04/2012, 20:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

cambia esto por $id = $_REQUEST["id"]; por esto $id = $_POST['id'];

$producto = $_POST["producto"];
$cantidad = $_POST["cantidad"];
  #11 (permalink)  
Antiguo 03/04/2012, 21:03
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
cambia esto por $id = $_REQUEST["id"]; por esto $id = $_POST['id'];

$producto = $_POST["producto"];
$cantidad = $_POST["cantidad"];
Ya lo cambie pero me sigue dando este error
Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\Inventario\aumentar.php on line 7
que sera?
  #12 (permalink)  
Antiguo 04/04/2012, 00:46
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

pero dime!...cual es la linea 7? en tu codigo
  #13 (permalink)  
Antiguo 04/04/2012, 01:02
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

prueba asi $consulta = "UPDATE inv SET cantidad=cantidad+1 WHERE id='$id'";

Última edición por edward18_1; 04/04/2012 a las 01:09
  #14 (permalink)  
Antiguo 04/04/2012, 18:55
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
prueba asi $consulta = "UPDATE inv SET cantidad=cantidad+1 WHERE id='$id'";
gracias por la ayuda ya no me dice el error pero se va directamente al mensaje de no se pudo modificar
  #15 (permalink)  
Antiguo 04/04/2012, 20:33
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

umm claro...falta el else

<?php
include ("conexion.php");
$producto = $_REQUEST["producto"];
$cantidad = $_REQUEST["cantidad"];
$id = $_REQUEST["id"];

$consulta = "UPDATE inv SET cantidad = (cantidad+1) WHERE id='$id'";
mysql_query($consulta) or die(mysql_error());

if (mysql_affected_rows() < 1){
echo "No se pudo modificar";
header('Location:inv.php');
}else{

echo "Registro actualizado";
}

?>




el otro queda asi!


<?php
include ("conexion.php");
$producto = $_REQUEST["producto"];
$cantidad = $_REQUEST["cantidad"];
$id = $_REQUEST["id"];

$consulta = "UPDATE inv SET cantidad=(cantidad - 1) WHERE id='$id'";
mysql_query($consulta) or die(mysql_error());

if (mysql_affected_rows() < 1){
echo "No se pudo modificar";
header('Location:inv.php');
} else{
echo "Registro actualizado";
}
?>
  #16 (permalink)  
Antiguo 05/04/2012, 13:14
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
umm claro...falta el else

<?php
include ("conexion.php");
$producto = $_REQUEST["producto"];
$cantidad = $_REQUEST["cantidad"];
$id = $_REQUEST["id"];

$consulta = "UPDATE inv SET cantidad = (cantidad+1) WHERE id='$id'";
mysql_query($consulta) or die(mysql_error());

if (mysql_affected_rows() < 1){
echo "No se pudo modificar";
header('Location:inv.php');
}else{

echo "Registro actualizado";
}

?>




el otro queda asi!


<?php
include ("conexion.php");
$producto = $_REQUEST["producto"];
$cantidad = $_REQUEST["cantidad"];
$id = $_REQUEST["id"];

$consulta = "UPDATE inv SET cantidad=(cantidad - 1) WHERE id='$id'";
mysql_query($consulta) or die(mysql_error());

if (mysql_affected_rows() < 1){
echo "No se pudo modificar";
header('Location:inv.php');
} else{
echo "Registro actualizado";
}
?>
Sige sin funcionar ya agrege el else
ya no me da el error ni el mensaje de no se pudo modificar pero no se modifican los datos
  #17 (permalink)  
Antiguo 05/04/2012, 21:15
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

pero y como te va a modificar? si lo unico que pasas por el $_POST[] en el formulario es "producto" y no el id del producto!...debes es enviar el id del producto!...no "producto"
  #18 (permalink)  
Antiguo 05/04/2012, 21:24
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por edward18_1 Ver Mensaje
pero y como te va a modificar? si lo unico que pasas por el $_POST[] en el formulario es "producto" y no el id del producto!...debes es enviar el id del producto!...no "producto"
Gracias pero no entiendo muy bien a que te refieres con producto?
  #19 (permalink)  
Antiguo 06/04/2012, 06:58
 
Fecha de Ingreso: diciembre-2011
Mensajes: 3
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Prueba así la consulta.

Código PHP:

$consulta 
"UPDATE inv SET cantidad = (".$cantidad."+1) WHERE id=".$id.""
Código PHP:

$consulta 
"UPDATE inv SET cantidad = (".$cantidad."-1) WHERE id=".$id.""
  #20 (permalink)  
Antiguo 06/04/2012, 18:50
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Respuesta: Problema con campo de incremento y decremento

Cita:
Iniciado por raul999 Ver Mensaje
Prueba así la consulta.

Código PHP:

$consulta 
"UPDATE inv SET cantidad = (".$cantidad."+1) WHERE id=".$id.""
Código PHP:

$consulta 
"UPDATE inv SET cantidad = (".$cantidad."-1) WHERE id=".$id.""
Gracias por la ayuda pero no funciona
  #21 (permalink)  
Antiguo 06/04/2012, 22:58
 
Fecha de Ingreso: septiembre-2011
Mensajes: 480
Antigüedad: 8 años, 4 meses
Puntos: 18
Respuesta: Problema con campo de incremento y decremento

pero el $id

tu no mandas el id...sino el producto!...y eso nunca te funcionara asi :S
  #22 (permalink)  
Antiguo 07/04/2012, 02:43
 
Fecha de Ingreso: abril-2012
Ubicación: Guadalajara
Mensajes: 16
Antigüedad: 7 años, 9 meses
Puntos: 0
Cita:
Iniciado por edward18_1 Ver Mensaje
pero el $id

tu no mandas el id...sino el producto!...y eso nunca te funcionara asi :S
Q debo cambiar?

Etiquetas: aumentar, disminuir, mysql
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 20:07.