Foros del Web » Programando para Internet » PHP »

Enviar al carrito de compra si recargar lapagina

Estas en el tema de Enviar al carrito de compra si recargar lapagina en el foro de PHP en Foros del Web. Buenas Tardes. Estoy desarrollando una aplicación para un tienda virtual personal, el desarrollo funcional mente esta en 90%, he tenidos los siguientes tripiezos. 1. Al ...
  #1 (permalink)  
Antiguo 02/02/2017, 12:48
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
Enviar al carrito de compra si recargar lapagina

Buenas Tardes.

Estoy desarrollando una aplicación para un tienda virtual personal, el desarrollo funcional mente esta en 90%, he tenidos los siguientes tripiezos.

1. Al logearme no me esta capturando la variable de session, por lo tanto no me muestra en el menu el nombre del usuario en session y cuando envio al carro no me funciona, pero cuando saldo de la aplicacion y me logeo por segunda vez si me funciona bien.

2. Quisiera que cuando ingrese la cantidad de producto y presione clic en la pagina no se recargue toda la pagina.

3. cuando elimino un producto del carro de compra no quiero que se recargue toda la pagina.

Consultando se que esto se realiza con jquery - javascript pero no tengo mucho conocimiento de esto, coloco los framentos de codigo del atienda para que se entienda lo que estoy haciendo. Todo este codigo esta en un mismo archivo llamado portada.php

Espero una ayuda o guia para darle mejor funcionamiento


Código PHP:

// borrar elemento del carrito de compra

<?php 
    session_start
();
    include(
'modulo/conexion.php');
    if(!empty(
$_GET['del'])){
        
$id=$_GET['del'];
        
mysqli_query($con,"DELETE FROM carrito WHERE idproducto='$id' and cedaso='".$_SESSION['cedaso']."'");
        
header('location:portada.php');
    }
?>
Este es el codigo de enviar al carrito

Código PHP:
        <div class="col-md-2">
            <?php
                
if(!empty($_POST['id'])){
                    
$codigo=$_POST['id'];
                    
$pa=mysqli_query($con,"SELECT * FROM carrito WHERE idproducto='$codigo'");                
                    if(
$row=mysqli_fetch_array($pa)){
                        
$new_cant=$row['cantidad']+1;
                        
mysqli_query($con,"UPDATE carrito SET cantidad='$new_cant' WHERE idproducto='$codigo'");
                    }else{
                        
$cant=$_POST['can'];
                        
mysqli_query($con,"INSERT INTO carrito (idproducto, cantidad,cedula,cedaso,fecha_compra) VALUES ('$codigo','$cant','".$_SESSION['cedula']."','".$_SESSION['cedaso']."','".date('Y-m-d')."')");
                
                    }
                }
             
?>
               <div id="sidebar"><br><br>
                       <div>
                    <img src="img/carrito.png" class="img-thumbnail">
                    
                    </div>
                    <br>
                    <table class="table table-bordered">
                      <tr>
                        <td>
                            <table class="table table-bordered table table-hover">
                            <?php 
                                        
                            $neto
=0;$tneto=0;$gan=0;$tgan=0;
                                
$pa=mysqli_query($con,"select carrito.id, carrito.idproducto,productos.nombre_producto,productos.precio_compra,
                                                       carrito.cantidad,carrito.fecha_compra,carrito.cedula,
                                                       datos.nombre_apellidos,carrito.cedaso,productos.precio_venta, productos.total_iva, productos.gan_adcfor,productos.total_ganancia
                                                       from carrito
                                                       inner join productos on carrito.idproducto=productos.id
                                                       inner join datos     on carrito.cedula=datos.cedula"
);                
                                while(
$row=mysqli_fetch_array($pa)){
                                    
$neto=($row['precio_compra']+$row['total_ganancia']+$row['total_iva'])*$row['cantidad'];
                                        
                                    
$tneto=$tneto+$neto;
                        
                                    
                            
?>
                              <tr style="font-size:12px">
                                <td><?php echo $row['cantidad']; ?></td>
                                <td>$ <?php echo number_format($neto); ?></td>
                                <td>
                                    <a href="portada.php?del=<?php echo $row['idproducto']; ?>" title="Eliminar de la Lista">
                                    <i class="fa  fa-trash"></i>
                                    </a>
                                </td>
                              </tr>
                            <?php }
                            
?>
                               <td colspan="4" style="font-size:12px"><div align="right">Total Compra: $ <strong><?php echo number_format($tneto); ?></strong></div></td>
                            
                            <?php 
                                $pa
=mysqli_query($con,"SELECT * FROM carrito");                
                                if(!
$row=mysqli_fetch_array($pa)){
                            
?>
                              <tr><div class="alert alert-success bg-flat" align="center"><strong>No hay Productos Agregados</strong></div></tr>
                              <?php ?>
                            </table>
                            <?php
                            
if($tneto>0){
                                echo 
'<center><a class="btn btn-success btn-flat" href="factura">Finalizar Compra</a></center>';
                            }
                            
?>
                        </td>
                      </tr>
                    </table>
                </div>
            </div>
  #2 (permalink)  
Antiguo 02/02/2017, 14:39
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Enviar al carrito de compra si recargar lapagina

Hola josegaitan123,

Lo que pretendes hacer se programa mediante AJAX, investiga sobre eso y encontrarás la solución.
  #3 (permalink)  
Antiguo 02/02/2017, 16:34
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Enviar al carrito de compra si recargar lapagina

Buenas tardes

Gracias por tu respuesta y tu tiempo, e buscado en internet sobre AJAX, hay que manejar varios lenguajes para dominarlo, en donde puedo encontrat un ejemplo puntual a lo que me refiero, si tienes algo te lo agadeceria
  #4 (permalink)  
Antiguo 03/02/2017, 03:31
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Enviar al carrito de compra si recargar lapagina

Hola josegaitan123,

Solo necesitas manejar JQuery y PHP, el segundo entiendo que lo manejas y el primero, es una librería de JavaScript que es muy fácil de aprender a usar para lo que tú necesitas.

El hacer una búsqueda en Google es muy sencillo, aunque a veces no sabemos qué buscar, pero aquí tienes algo:

https://www.google.es/?#q=enviar+al+...mpras+ajax+php

Espero que puedas empezar, si cuando lo tengas en marcha, tienes algún problema, publícalo aquí y vemos como te podemos ayudar.
  #5 (permalink)  
Antiguo 03/02/2017, 09:48
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Enviar al carrito de compra si recargar lapagina

ok, amigo gracias por tu tiempo, eres muy amable en responder, revisare la documentación

Etiquetas: carrito, compra, fecha, mysql, select, sql, usuario, variable
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 22:46.