Ver Mensaje Individual
  #7 (permalink)  
Antiguo 06/03/2018, 23:42
rafret
 
Fecha de Ingreso: junio-2010
Mensajes: 221
Antigüedad: 14 años, 5 meses
Puntos: 3
Respuesta: implementar carrito de compras, borrar linea de pedido

Hola mortiprogramador, que generoso en tu respuesta, en verdad gracias.
Como ves tengo muy poca experiencia en programación y por ahora el manejo de sessiones en php para mi es todo un reto que estoy pretendiendo incorporar en mi todavía pobre conocimiento y destreza.

Veo muy buenas tus sugerencias y observaciones con respecto a la aplicación que intento terminar de desarrollar siguiendo un tutorial y estoy seguro que me van a ayudar a repensar en una nueva estructuración para mejor funcionalidad de la misma. Sin embargo, por el momento quisiera me puedas ayudar a conseguir el objetivo de borrar las lineas de pedido sin tener que hacer mayores modificaciones ya que esto me podría traer muchas complicaciones, creo que una vez conseguido esto intentaré mejorar la aplicación reitero con tus importantes sugerencias.

/************************************************** ****************/

Antes de ver tu mensaje conseguí borrar lineas de pedido modificando un poco la parte del html de ponCarrito.php y añadiendo un código javascript a la parte fnal para borrar el div que contenía las lineas de pedido, consiguiendo borrar el div pero no modificaba el precio final y al recargar la pagina el carrito volvía a mostrar la lineas borradas


Código PHP:
<?php 
session_start
();
$suma=0;
if(isset(
$_GET["p"])){
$_SESSION['producto'][$_SESSION['contador']] = $_GET['p'];
$_SESSION['contador']++;
 }
echo
'<div id="places-container">';
$conexion mysqli_connect("localhost","root","","carritocompras");
 
mysqli_set_charset($conexion,"utf8"); 
 
for(
$i 0;$i$_SESSION['contador'];$i++){
    
$peticion="SELECT * FROM productos WHERE id=".$_SESSION['producto'][$i];
    
$resultado=mysqli_query($conexion,$peticion);
    while(
$fila=mysqli_fetch_array($resultado)){
        echo
"
                <div id='places-container' style='color:white'>
                    <div>
                        "
.$fila['nombre_productos']."- precio: ".$fila["precio"]."<button class='remove' style='color:black'>x</button>
                    </div>
                </div>
            "
;
        
$suma += $fila["precio"];

    }
}
echo
'</div>';
echo 
"suma= ".number_format($suma,2);


?>




Código Javascript:
Ver original
  1. $("#places-container").on("click",".remove",function(){
  2.         //console.log("bien");
  3.         var parent = $(this).parent().remove();
  4.     });



Puede ser que este intento sea errado o sin real noción pero espero valores que al menos lo estoy intentado.

/************************************************** *****************/


Estoy tratando de seguir tu guía a partir de aqui:

Cita:
3. En la página de poncarrito.php tienes que enviar el id del producto en el link de eliminar
de cada fila, en caso contrario, al llegar a la página de quitarProducto.php no podrá
realizar la eliminación puesto que no tiene un id al cual buscar para borrar
(Es decir, hacer algo similar a lo que ya tienes en productos.php en la parte de 'Mas información')
Entonces luego de borrar de ponCarrito.php el codigo javascript de intento anterior y añadir lo me sugieres me quedo asi

Código PHP:
<?php 
session_start
();
$suma=0;
if(isset(
$_GET["p"])){
$_SESSION['producto'][$_SESSION['contador']] = $_GET['p'];
$_SESSION['contador']++;
 }
echo
'<div id="places-container">';
$conexion mysqli_connect("localhost","root","","carritocompras");
 
mysqli_set_charset($conexion,"utf8"); 
 
for(
$i 0;$i$_SESSION['contador'];$i++){
    
$peticion="SELECT * FROM productos WHERE id=".$_SESSION['producto'][$i];
    
$resultado=mysqli_query($conexion,$peticion);
    while(
$fila=mysqli_fetch_array($resultado)){
        echo
"
                <div id='places-container' style='color:white'>
                    <div>
                        "
.$fila['nombre_productos']."- precio: ".$fila["precio"]."<a href='php/quitarProducto.php?r=".$fila["id"]."' style='color:white'> x borarProducto</a>
                    </div>
                </div>
            "
;
        
$suma += $fila["precio"];

    }
}
echo
'</div>';
echo 
"suma= ".number_format($suma,2);


?>


Cita:
4. Puedes dejar de usar la variable de sesión contador, pues solo con la variable de sesión
de productos es suficiente para saber cuantos productos hay
(es decir, se haría un count o un sizeof de la variable de sesión productos
en vez de usar la variable de sesión contador en el ciclo de la página poncarrito.php)
Aquí solo pude conseguir entender esto, pues como te explico mi conocimiento de sessiones es muy pobre y no logro conseguir avanzar:

Código PHP:
<?php 
session_start
();

if(isset(
$_GET["r"])){
$_SESSION['producto']=$_GET["r"];
echo 
$_SESSION['producto'];
 }

?>
Espero me puedas ayudar a resolver.

Saludos y gracias