Disminuir inventario en php

Iniciado por ::: Devil :::, 30 Julio 2014, 14:57 PM

0 Miembros y 3 Visitantes están viendo este tema.

::: Devil :::

hola buen dia horario venezuela :-D

tengo una pequeña duda y no se como resolverla, como vengo diciendo desde hace tiempo aqui estoy armando un carrito de compras a mi propio estilo el cual ando puliendo mi problema es el siguiente:

tengo un row que me indica cuantas piezas me quedan de x producto, lo que quiero hacer es que cuando x usuario entre al carrito de compras y le de click a agregar a carrito se elimine una pieza del producto escogido alguien me podria dar un apoyo por favor.
NI TU NI NADIEN PORDRAN CONMIGO SOY MAS FUERTE QUE LA ENVIDIA.

ESTO ESTA DEDICADO A LOS QUE ME JODEN LA VIDA

engel lex

Yo por comodidad y seguridad lo haría con 2 sentencias de sql en php, una que obtenga la cantidad y la otra que inserte la cantidad -1
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

::: Devil :::

hay si que estoy fregado tengo codigo 0
NI TU NI NADIEN PORDRAN CONMIGO SOY MAS FUERTE QUE LA ENVIDIA.

ESTO ESTA DEDICADO A LOS QUE ME JODEN LA VIDA

engel lex

Pero como lo estás haciendo? Si hablas de "row" supongo que es sql no? Si ya tienes la db es una simple sentencia, no?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

::: Devil :::

#4
Código (php) [Seleccionar]
<?php 
session_start();
include('php_conexion.php'); 
$act="0";
include_once("php_conexion.php");
if(!empty($_GET['del'])){
$id=$_GET['del'];
mysql_query("DELETE FROM carrito WHERE codigo='$id'");
}
   if(!$_SESSION['tipo_usu']=='a' or !$_SESSION['tipo_usu']=='ca'){
header('location:index.php');
    }
?>


<!DOCTYPE html>
<html lang="es">
 <head>
   <meta charset="utf-8">
   <title>Carrito de Compras</title>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta name="description" content="">
   <meta name="author" content="">

   <!-- Le styles -->
   <link href="/bootstrap.css" rel="stylesheet">
   <style type="text/css">
     body {
       padding-top: 60px;
       padding-bottom: 40px;
     }
   </style>
   <link href="/bootstrap-responsive.css" rel="stylesheet">

   <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
   <!--[if lt IE 9]>
     <script src="/html5shiv.js"></script>
   <![endif]-->

   <!-- Fav and touch icons -->

   <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
   <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/apple-touch-icon-114-precomposed.png">
     <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/apple-touch-icon-72-precomposed.png">
                   <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-57-precomposed.png">
                                  <link rel="shortcut icon" href="/favicon.png">
 </head>

 <body>

   <div class="navbar navbar-inverse navbar-fixed-top">
     <div class="navbar-inner">
       <div class="container">
         <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
           <span class="icon-bar"></span>
           <span class="icon-bar"></span>
           <span class="icon-bar"></span>
         </button>
         <a class="brand" href="#">Tienda</a>
         <div class="nav-collapse collapse">
           <ul class="nav">
             <li class="active"><a href="index.php">Principal</a></li>
             <li><a href="mis_pedidos.php">Mis Pedidos</a></li>
           </ul>

           </li>
           <table width="200" border="2" align="right">
             <tr>
               <td bgcolor="#FFFFFF"><a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-user"></i> Hola! <?php echo $_SESSION['username']; ?> <b class="caret"></b></a>
             <ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
               <li role="presentation"><a role="menuitem" tabindex="-1" href="cambiar_clave.php" target="admin"><i class="icon-refresh"></i> Cambiar Contraseテアa</a></li>
               <li role="presentation" class="divider"></li>
               <li role="presentation"><a role="menuitem" tabindex="-1" href="php_cerrar.php"><i class="icon-off"></i> Salir</a></li></td>
             </tr>
           </table>
         </div><!--/.nav-collapse -->
         </a>
       </div>
     </div>
   </div>

   <div class="container">

   
     <div class="hero-unit" align="center">
        <p><img src="banner.png" class="img-polaroid"></p>

     </div>


     <div class="row">

     </div>
     <div align="center">

       <div class="row-fluid">
    <div class="span8">
<?php
                $pa
=mysql_query("SELECT * FROM producto where estado='s'");
                while(
$row=mysql_fetch_array($pa)){
            
?>
                     
        <table class="table table-bordered">
            <tr><td>
                <div class="row-fluid">
                    <div class="span4">
                           <center><strong><?php echo $row['nombre']; ?></strong></center><br>
                           <img src="<?php echo $row['codigo']; ?>.png" class="img-polaroid">
                       </div>
                       <div class="span4"><br><br><br><br>
                           <strong><?php echo $row['nota']; ?></strong><br><br>
                           <strong>Valor: </strong>$ <?php echo number_format($row['valor'],2,",","."); ?>
                       </div>
                       <div class="span4"><br><br><br><br><br>
                        <form name="form<?php $row['codigo']; ?>" method="post" action="">
                            <input type="hidden" name="codigo" value="<?php echo $row['codigo']; ?>">
                               <button type="submit" name="boton" class="btn btn-primary">
                                   <i class="icon-shopping-cart"></i> <strong>Agregar al Carrito</strong>
                               </button>
                           </form>
                       </div>
                   </div>
            </td></tr>
        </table>
        <?php ?>
        </div>
           <div class="span4">
      <?php
if(!empty($_POST['codigo'])){
$codigo=$_POST['codigo'];
$pa=mysql_query("SELECT codigo, cantidad FROM carrito WHERE usu = '" $_SESSION["username"] . "' AND codigo = '"$codigo "'");
if($row=mysql_fetch_array($pa)){
$new_cant=$row['cantidad']+1;
mysql_query("UPDATE carrito SET cantidad =  '" $new_cant "' WHERE usu = '" $_SESSION["username"] . "' AND codigo =  '" $codigo "'");
}else{
mysql_query("INSERT INTO carrito (codigo, cantidad, usu) VALUES('" $codigo "', '1', '" $_SESSION["username"] . "')");
}
}
?>

            <div id="sidebar"><br><br><br>
              <h2 align="center">Mis Pedidos</h2>
              <table class="table table-bordered">
                     <tr>
                       <td height="153">
                        <table class="table table-bordered table table-hover">
                           <?php 
$neto=0;$tneto=0;
$pa=mysql_query("SELECT * FROM carrito WHERE usu = '"$_SESSION["username"] ."'");
while($row=mysql_fetch_array($pa)){
$oProducto=new Consultar_Producto($row['codigo']);
$neto=$oProducto->consultar('valor')*$row['cantidad'];
$tneto=$tneto+$neto;
 
?>

                             <tr style="font-size:9px">
                               <td><?php echo $oProducto->consultar('nombre'); ?></td>
                               <td><?php echo $row['cantidad']; ?></td>
                               <td>$ <?php echo number_format($neto,2,",","."); ?></td>
                               <td>
                                <a href="index.php?del=<?php echo $row['codigo']; ?>" title="Eliminar de la Lista">
                                <i class="icon-remove"></i>
                                   </a>
                               </td>
                             </tr>
                           <?php }
?>

                            <td colspan="4" style="font-size:9px"><div align="right">$<?php echo number_format($tneto,2,",","."); ?></div></td>
                           <?php 
$pa=mysql_query("SELECT * FROM carrito WHERE usu = '"$_SESSION["username"] ."'");
if(!$row=mysql_fetch_array($pa)){
?>

                             <tr><div class="alert alert-success" align="center"><strong>No hay Productos Registrados</strong></div></tr>
 <?php ?>
                           </table></td>
                     </tr>
                   </table>
               </div>
           </div>
    </div>

     </div>

     <hr>

     <footer>
       <p>&copy; Venezuela Computer 2014</p>
       <p>&nbsp;</p>

     </footer>

   </div> <!-- /container -->

   <!-- Le javascript
   ================================================== -->
   <!-- Placed at the end of the document so the pages load faster -->
   <script src="/jquery.js"></script>
   <script src="/bootstrap-transition.js"></script>
   <script src="/bootstrap-alert.js"></script>
   <script src="/bootstrap-modal.js"></script>
   <script src="/bootstrap-dropdown.js"></script>
   <script src="/bootstrap-scrollspy.js"></script>
   <script src="/bootstrap-tab.js"></script>
   <script src="/bootstrap-tooltip.js"></script>
   <script src="/bootstrap-popover.js"></script>
   <script src="/bootstrap-button.js"></script>
   <script src="/bootstrap-collapse.js"></script>
   <script src="/bootstrap-carousel.js"></script>
   <script src="/bootstrap-typeahead.js"></script>
   <script>
$(function() {
           var offset = $("#sidebar").offset();
           var topPadding = 15;
           $(window).scroll(function() {
               if ($("#sidebar").height() < $(window).height() && $(window).scrollTop() > offset.top) { /* LINEA MODIFICADA  */
                   $("#sidebar").stop().animate({
                       marginTop: $(window).scrollTop() - offset.top + topPadding
                   });
               } else {
                   $("#sidebar").stop().animate({
                       marginTop: 0
                   });
               };
           });
       });
</script>

 </body>
</html>



esta es la pagina del carrito es index.php no entendi la parte que me dijistes una simple sentencia :-D
NI TU NI NADIEN PORDRAN CONMIGO SOY MAS FUERTE QUE LA ENVIDIA.

ESTO ESTA DEDICADO A LOS QUE ME JODEN LA VIDA

MinusFour

Cita de: engel lex en 30 Julio 2014, 15:00 PM
Yo por comodidad y seguridad lo haría con 2 sentencias de sql en php, una que obtenga la cantidad y la otra que inserte la cantidad -1

Puedes hacerlo desde una query:

Código (SQL) [Seleccionar]

UPDATE tabla SET campo = campo - 1

::: Devil :::

mysql_query("UPDATE carrito SET existencia = existencia -1 "'");

asi dices tu y puedo crear otro else
NI TU NI NADIEN PORDRAN CONMIGO SOY MAS FUERTE QUE LA ENVIDIA.

ESTO ESTA DEDICADO A LOS QUE ME JODEN LA VIDA

MinusFour

Cita de: ::: Devil ::: en 30 Julio 2014, 21:47 PM
mysql_query("UPDATE carrito SET existencia = existencia -1 "'");

asi dices tu y puedo crear otro else

El query tiene que afectar solamente a un usuario y a un producto y solo debería afectar valores mayores a 0...

Código (php) [Seleccionar]

mysql_query("UPDATE carrito SET existencia = existencia - 1 WHERE existencia > 0");

::: Devil :::

no me disminuye nada mira como quedo el codigo

Código (php) [Seleccionar]
<?php 
session_start();
include('php_conexion.php'); 
$act="0";
include_once("php_conexion.php");
if(!empty($_GET['del'])){
$id=$_GET['del'];
mysql_query("DELETE FROM carrito WHERE codigo='$id'");
}
   if(!$_SESSION['tipo_usu']=='a' or !$_SESSION['tipo_usu']=='ca'){
header('location:index.php');
    }
?>


<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="utf-8">
    <title>Carrito de Compras</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">

    <!-- Le styles -->
    <link href="css/bootstrap.css" rel="stylesheet">
    <style type="text/css">
      body {
        padding-top: 60px;
        padding-bottom: 40px;
      }
    </style>
    <link href="css/bootstrap-responsive.css" rel="stylesheet">

    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="../assets/js/html5shiv.js"></script>
    <![endif]-->

    <!-- Fav and touch icons -->

    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="ico/apple-touch-icon-144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="ico/apple-touch-icon-114-precomposed.png">
      <link rel="apple-touch-icon-precomposed" sizes="72x72" href="ico/apple-touch-icon-72-precomposed.png">
                    <link rel="apple-touch-icon-precomposed" href="ico/apple-touch-icon-57-precomposed.png">
                                   <link rel="shortcut icon" href="ico/favicon.png">
  </head>

  <body>

    <div class="navbar navbar-inverse navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container">
          <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="brand" href="#">Tienda </a>
          <div class="nav-collapse collapse">
            <ul class="nav">
              <li class="active"><a href="index.php">Principal</a></li>
              <li><a href="mis_pedidos.php">Mis Pedidos</a></li>
            </ul>

            </li>
            <table width="200" border="2" align="right">
              <tr>
                <td bgcolor="#FFFFFF"><a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-user"></i> Hola! <?php echo $_SESSION['username']; ?> <b class="caret"></b></a>
              <ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
                <li role="presentation"><a role="menuitem" tabindex="-1" href="cambiar_clave.php" target="admin"><i class="icon-refresh"></i> Cambiar Contraseña</a></li>
                <li role="presentation" class="divider"></li>
                <li role="presentation"><a role="menuitem" tabindex="-1" href="php_cerrar.php"><i class="icon-off"></i> Salir</a></li></td>
              </tr>
            </table>
          </div><!--/.nav-collapse -->
          </a>
        </div>
      </div>
    </div>

    <div class="container">

      <!-- Main hero unit for a primary marketing message or call to action -->
      <div class="hero-unit" align="center">
        <p><img src="file:///C|/Users/Secretaria/Desktop/Nueva carpeta/images/slogan-bg.jpg" class="img-polaroid"></p>

      </div>

      <!-- Example row of columns -->
      <div class="row">

      </div>
      <div align="center">

        <div class="row-fluid">
    <div class="span8">
<?php
                $pa
=mysql_query("SELECT * FROM producto where estado='s'");
                while(
$row=mysql_fetch_array($pa)){
            
?>
                       
        <table class="table table-bordered">
            <tr><td>
                <div class="row-fluid">
                    <div class="span4">
                            <center><strong><?php echo $row['nombre']; ?></strong></center><br>
                            <img src="img/producto/<?php echo $row['codigo']; ?>.jpg" class="img-polaroid">
                        </div>
                       
                        <div class="span4"><br><br><br><br>
                            <strong><?php echo $row['nota']; ?></strong><br><br>
                            <strong>Valor: </strong>$ <?php echo number_format($row['valor'],2,",","."); ?>
                        </div>
                        <div class="span4"><br><br><br><br><br>
                        <form name="form<?php $row['codigo']; ?>" method="post" action="">
                            <input type="hidden" name="codigo" value="<?php echo $row['codigo']; ?>">
                                <button type="submit" name="boton" class="btn btn-primary">
                                    <i class="icon-shopping-cart"></i> <strong>Agregar al Carrito</strong>
                                </button>
                            </form>
                            <div class="span4"><br><br><br><br>
                            <strong>Existencia: </strong> <?php echo number_format($row['existencia']); ?>
                        </div>
                        </div>
                    </div>
            </td></tr>
        </table>
        <?php ?>
        </div>
            <div class="span4">
       <?php
if(!empty($_POST['codigo'])){
$codigo=$_POST['codigo'];
$pa=mysql_query("SELECT codigo, cantidad FROM carrito WHERE usu = '" $_SESSION["username"] . "' AND codigo = '"$codigo "'");
if($row=mysql_fetch_array($pa)){
$new_cant=$row['cantidad']+1;
mysql_query("UPDATE carrito SET cantidad =  '" $new_cant "' WHERE usu = '" $_SESSION["username"] . "' AND codigo =  '" $codigo "'");
mysql_query("UPDATE carrito SET existencia = existencia - 1 WHERE existencia > 0");
}else{
mysql_query("INSERT INTO carrito (codigo, cantidad, usu) VALUES('" $codigo "', '1', '" $_SESSION["username"] . "')");
}
}
?>

             <div id="sidebar"><br><br><br>
                <h2 align="center">Mis Pedidos</h2>
                <table class="table table-bordered">
                      <tr>
                        <td height="153">
                        <table class="table table-bordered table table-hover">
                            <?php 
$neto=0;$tneto=0;
$pa=mysql_query("SELECT * FROM carrito WHERE usu = '"$_SESSION["username"] ."'");
while($row=mysql_fetch_array($pa)){
$oProducto=new Consultar_Producto($row['codigo']);
$neto=$oProducto->consultar('valor')*$row['cantidad'];
$tneto=$tneto+$neto;
 
?>

                              <tr style="font-size:9px">
                                <td><?php echo $oProducto->consultar('nombre'); ?></td>
                                <td><?php echo $row['cantidad']; ?></td>
                                <td>$ <?php echo number_format($neto,2,",","."); ?></td>
                                <td>
                                <a href="index.php?del=<?php echo $row['codigo']; ?>" title="Eliminar de la Lista">
                                <i class="icon-remove"></i>
                                    </a>
                                </td>
                              </tr>
                            <?php }
?>

                            <td colspan="4" style="font-size:9px"><div align="right">$<?php echo number_format($tneto,2,",","."); ?></div></td>
                            <?php 
$pa=mysql_query("SELECT * FROM carrito WHERE usu = '"$_SESSION["username"] ."'");
if(!$row=mysql_fetch_array($pa)){
?>

                              <tr><div class="alert alert-success" align="center"><strong>No hay Productos Registrados</strong></div></tr>
  <?php ?>
                            </table></td>
                      </tr>
                    </table>
                </div>
            </div>
    </div>

      </div>

      <hr>

      <footer>
        <p>&copy; Venezuela Computer 2014</p>
        <p>&nbsp;</p>

      </footer>

    </div> <!-- /container -->

    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="js/jquery.js"></script>
    <script src="js/bootstrap-transition.js"></script>
    <script src="js/bootstrap-alert.js"></script>
    <script src="js/bootstrap-modal.js"></script>
    <script src="js/bootstrap-dropdown.js"></script>
    <script src="js/bootstrap-scrollspy.js"></script>
    <script src="js/bootstrap-tab.js"></script>
    <script src="js/bootstrap-tooltip.js"></script>
    <script src="js/bootstrap-popover.js"></script>
    <script src="js/bootstrap-button.js"></script>
    <script src="js/bootstrap-collapse.js"></script>
    <script src="js/bootstrap-carousel.js"></script>
    <script src="js/bootstrap-typeahead.js"></script>
    <script>
$(function() {
            var offset = $("#sidebar").offset();
            var topPadding = 15;
            $(window).scroll(function() {
                if ($("#sidebar").height() < $(window).height() && $(window).scrollTop() > offset.top) { /* LINEA MODIFICADA POR ALEX PARA NO ANIMAR SI EL SIDEBAR ES MAYOR AL TAMAÑO DE PANTALLA */
                    $("#sidebar").stop().animate({
                        marginTop: $(window).scrollTop() - offset.top + topPadding
                    });
                } else {
                    $("#sidebar").stop().animate({
                        marginTop: 0
                    });
                };
            });
        });
</script>

  </body>
</html>
NI TU NI NADIEN PORDRAN CONMIGO SOY MAS FUERTE QUE LA ENVIDIA.

ESTO ESTA DEDICADO A LOS QUE ME JODEN LA VIDA

::: Devil :::

umm una dudita yo creo que no va a furular el query de existencia tan solo porque esta mandando a disminuir una y no esta dando una orden

si agregar carrito +1 entonces existencia -1

tengo mas o menos la idea pero no la hayo desarrollar quien me hecha una mano
NI TU NI NADIEN PORDRAN CONMIGO SOY MAS FUERTE QUE LA ENVIDIA.

ESTO ESTA DEDICADO A LOS QUE ME JODEN LA VIDA