Respuesta: implementar carrito de compras, borrar linea de pedido Saludo
Eso jamás funcionará si no se conecta a la base de datos.
Es decir, en el archivo que se encarga de borrar la fila del carro de compras
se tiene que conectar a la base de datos y ejecutar el delete
(que teorizo es a una tabla llamada carrodecompras, porque si borras la de productos,
como actualmente estás haciendo, en algún momento te quedarás
sin productos para agregar al carro de compras)
Y adicional a esto, tienes que borrar la posición de la variable de sesión producto
del elemento seleccionado para borrar, y claramente, restar un elemento a la variable de sesión contador
Ahora, revisando tu código, te hago algunas observaciones.
1. En el index haces dos consultas a la base de datos,
cuando puedes hacer solo una
agregando el query de images como una subconsulta a la consulta principal
(además ambos querys traen todos los datos resultantes de las filas,
cuando solo se necesitan algunos campos solamente, es decir, el * es mejor evitarlo)
2. Como consecuencia del primer punto, te ahorras el segundo while
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')
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)
Esto implicaría que en el archivo de poncarrito.php simplemente se manejaría la segunda
posición de la variable de sesión productos en vacío (es decir, solo los []) a la hora de
asignar el id del producto que llega
Esto a su vez elimina la necesidad de realizar sumas y restas sobre la variable de sesión contador que se iría
Obviamente, esto hace necesario entonces buscar en el arreglo de sesión producto
el id del producto a eliminar para quitar la posición
(cosa que también se tiene que hacer en caso de seguir usando la variable de sesión contador)
También podrías cambiar a que en vez de un href a la hora de eliminar,
se ejecute una función ajax también que haga el borrado y recargue el carro de compras como tal
(es decir, lo mismo que se está haciendo a la hora de agregar)
Finalmente, creo que debes reevaluar la forma en que esta trabajando la aplicación
actualmente a nivel de base de datos, e igualmente en la parte de agregar
se podría mejorar el funcionamiento, pues por ej, si quiero agregar el mismo producto dos veces, o n veces,
tengo que dar tantos clic como productos del mismo necesite
(y por ende, la variable de sesión de productos tendría el mismo producto repetido n veces, haciendo engorrosa la eliminación cuando hayan varios productos con el mismo id),
esto podría minimizarse con un campo de texto donde se ingrese la cantidad de cada producto, y estas cantidades tendrían que ser otra posición del arreglo de sesión
Esto a su vez haría que a la hora de eliminar, puedan eliminar determinadas cantidades de un producto o todo un producto como tal
__________________ "Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
Última edición por mortiprogramador; 06/03/2018 a las 18:09 |