Foros del Web » Programando para Internet » PHP »

Problemas con disminuir inventario

Estas en el tema de Problemas con disminuir inventario en el foro de PHP en Foros del Web. Hola buenas tardes llevo tiempo leyendo los mensajes de este foro del cual e ido puliendo alguunas coasas que no sabia pero aora me encuentro ...
  #1 (permalink)  
Antiguo 05/08/2014, 14:14
 
Fecha de Ingreso: agosto-2014
Mensajes: 21
Antigüedad: 10 años, 4 meses
Puntos: 0
Problemas con disminuir inventario

Hola buenas tardes llevo tiempo leyendo los mensajes de este foro del cual e ido puliendo alguunas coasas que no sabia pero aora me encuentro con un gran problema estoy creando un carrito de compras el cual ya esta funcionando y todo lo demas aora bien, tengo una fila en existencia que me muestra cuantos productos tiene pero cuando alguien los agrega al carrito no se disminuye esa cantidad siempre queda visible y ese es mi duda como podria yo hacer para que cuando un usuario x le de click a un producto y lo pase al carrito de compras se disminuya de existencia aqui muestro mi codigo

Código PHP:
<?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="">
    <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]-->
    <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 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 "'");
                                                
                    }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 -->
    <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>
  #2 (permalink)  
Antiguo 06/08/2014, 04:52
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 36
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Problemas con disminuir inventario

Hola quintana_jairo,

No sé si te he entendido bien, pero quieres que disminuya un producto al agregarlo al carrito (al agregar ejecuta un update a ese producto y se lo restas), pero el problema lo tendrás si el cliente no compra el producto, como lo vuelves a sumar?
Creo que lo correcto es restar el producto de stock en el momento que el usuario COMPRA el producto, no cuando lo añade al carrito.
Si lo que quieres es comprobar que si solo hay un producto en stock no compren dos personas el mismo, lo que puedes hacer es validar la compra antes de realizarla, es decir, volver a hacer la consulta y si sigue habiendo stock le permites realizar la compra y restas el producto.

No sé si te referías a esto, pero espero haberte ayudado.

Saludos, Alex.
  #3 (permalink)  
Antiguo 06/08/2014, 12:59
 
Fecha de Ingreso: agosto-2014
Mensajes: 21
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Problemas con disminuir inventario

uno de los problemas en el carrito de compras es que en el mio se registran y con darle a agregar al carrito lo pasa directamente ya que tengo otro link en donde pueden ver eliminar o modificar sus pedidos sin necesidad de confirmar compra ni nada

es decir

index.php

esta el vatalago de compras con el respectivo boton agregar a la cesta

index1.php

esta mis pedidos que es donde pueden modificar su pedido como cantidad producto

no hay necesidad de confirmar compra se pueden salir del sistema y volver a entrar y ellos van a tener sus productos igualmente.
  #4 (permalink)  
Antiguo 06/08/2014, 13:41
 
Fecha de Ingreso: agosto-2014
Mensajes: 21
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Problemas con disminuir inventario

uno de los problemas en el carrito de compras es que en el mio se registran y con darle a agregar al carrito lo pasa directamente ya que tengo otro link en donde pueden ver eliminar o modificar sus pedidos sin necesidad de confirmar compra ni nada

es decir

index.php

esta el vatalago de compras con el respectivo boton agregar a la cesta

index1.php

esta mis pedidos que es donde pueden modificar su pedido como cantidad producto

no hay necesidad de confirmar compra se pueden salir del sistema y volver a entrar y ellos van a tener sus productos igualmente.

Etiquetas: html, inventario, mysql, select, sql
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 12:29.