Apúntate a la Zona De Descargas Reservadas (ZDDR). Solo son 20 Euros
Con solo 20€ ayudarás
a mantener el foro.


Seguir a udias en Twitter
Directorio de Empresas de Foros de informática


Todo lo que sueñas, se puede diseñar.
We build your dreams.

 - Principal - Responder - Estadísticas - Registrarse - Buscar - Lista de usuarios -  - Zona de Descargas
 -Privacidad y política de cookies -
Ayuda al foro con tu donación

Búsqueda en los foros

Foros en Udias.com / PHP y MySQL / duda carrito compra
Autor Mensaje

Miembro

Asiduo

  Karma             657

#1 Publicado: 28 Oct 2011 20:34



aupa:
tengo una duda sobre un fichero que contiene:

include("lib_carrito.php");


$_SESSION["ocarrito"]->introduce_producto($_GET["i d"], $_GET["nombre"], $_GET["precio"], $_GET["cantidad"]);

este recoge las variables e introduce un producto nuevo siempre, pero yo quiero si es posible que si $_SESSION["ocarrito"] contiene el producto cuya variable es $_GET["id"] que sume en cantidad uno mas.

me podriais decir como se construye eso.
he intentado algunas cosas como esta pero alfinal estoy muy perdido

if (isset($_SESSION["ocarrito"]) && isset($_SESSION["ocarrito"]=="$_GET["precio"]") {
include("lib_carrito.php");


$_SESSION["ocarrito"]->introduce_producto($_GET["i d"], $_GET["nombre"], $_GET["precio"], $_GET["cantidad"]);}
else {
echo " y como seria esto "; }


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               32083

#2 Publicado: 28 Oct 2011 20:38



Primer tienes que recorrer, con un WHILE por ejemplo, los productos que YA tienes en el carrito mirando si el nueevoproducto está o no en el cerrito.

Una vez encontrado el producto, si está, solo tienes que sumarle uno a la cantidad.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             657

#3 Publicado: 29 Oct 2011 20:00



hola , de nuevo:

este es el fichero que introduce el producto en $_SESSION["ocarrito"]:

<?
include("lib_carrito.php");
$_GET["id"];
$_GET["nombre"];
$_GET["precio"];
$_GET["cantidad"];

echo $_GET["id"];
echo $_GET["nombre"];
echo $_GET["precio"];
$_SESSION["ocarrito"]->introduce_producto($_GET["i d"], $_GET["nombre"], $_GET["precio"], $_GET["cantidad"]);


session_start();
$cesta=$_SESSION['ocarrito'];

$k=$_GET["id"];
$v= $_GET["nombre"];
foreach($cesta as $item){
echo "Nombre: ".$v['nombre']."<br>";
echo "Código: ".$k['id']."<br>";
echo "Precio: ".$k['precio']."<br>";

}

?>
he intentado hacerlo con while prmero y ahora con foreach, este es el resultado, lio total.
Cuando pongo un foreach no se porque imprime siempre cinco veces el mismo producto introducido.
¿por que?,
gracias.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               32083

#4 Publicado: 29 Oct 2011 21:14



Es que en nigún sitio comparas el ID del producto a introducir con los ID's que ya están en el carrito

ID_nuevo = GET........
Recorro el carrito
Si (if) ID_nuevo == ID_del_carrito
Cantidad más 1
Si no es igual
Lo que quieras.

Te lo pongo así para que lo entiendas.
Ánimo que ya seguro que te falta menos.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             657

#5 Publicado: 30 Oct 2011 12:48



$id=$_GET["id"]; //aqui $id es nueva id, pero de donde soco el valor

en "Recorro el carrito" , que pongo?


if ($_GET["id"] == "$id;")

echo "funciona.";}

else
{echo "Vuelve a intentarlo en unos segundos,.";
}

gracias por lo de animo, y tanto que animo.
Un saludo
estoy .... uf.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               32083

#6 Publicado: 30 Oct 2011 12:59



Vamos a ver dos cosas

1º) La ID del producto a añadir al carrito es: $id=$_GET["id"];

Bien, ¿Cual es la ID de los productos que ya están el carito?

2º) ¿Como recorro el carrito?

Pues con un WHILE o con un FOR, por ejemplo.

for ($i = 1; $i <= número_de_bjetos_en_el_carrito; $i++) {
if ($id==$ID_del_objeto_en_el_carrito) {
Cantodad más uno
} else {
No hago nada
}

}


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             657

#7 Publicado: 30 Oct 2011 20:33



Bueno, me voy a ....
Mira, tengo un fichero, lib_carrito.php que te lo adjunto.

por otro lado mete_producto.php que tiene:

<?
include("lib_carrito.php");



$_SESSION["ocarrito"]->introduce_producto($_GET["i d"], $_GET["nombre"], $_GET["precio"], $_GET["cantidad"]);


?>


Final<BR>
</body>
</html>

Producto introducido.
<br>
<br>
<a href="index.php">- Volver</a>
<br>
<br>
<a href="ver_carrito.php">- Ver carrito</a>


</body>
</html>

si pincho en un producto , lo introduce, si pincho en el mismo introduce otro igual y funciona bien, lo que quiero es que en vez de introducir otra vez el mismo que sume la cantidad y no lo introduzca otra vez el mismo.


el for esta en el archivo lib_carrito.php, lo he cambiado llegandome a sumar uno mas en cantidad, pero en todas, no en la que quiero.
se puede hacer facil o debo dejarlo.
gracias por tu tiempo.

lib_carrito.phpArchivo adjunto: lib_carrito.php
 

Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               32083

#8 Publicado: 30 Oct 2011 20:51



Lo que adjuntas es solo una parte de un carrito de compras, el archivo lib es donde están parte de las funciones y una clase, pero no está todo el carrito.

Necesitas saber, como ya te he dicho antes, el ID del nuevo producto y recorrer el carrito para saber si está el producto en el o no.

Con lo que mandas no se puede hacer, pero si sigues las instrucciones que te dado seguro que lo logras.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             657

#9 Publicado: 31 Oct 2011 09:56



bueno, era tan facil como:
archivo añadir:
<?
include("lib_carrito.php");
$_SESSION["ocarrito"]->anade_producto($_GET["linea "]);
?>

<html>
<head>
<title>Introduce Producto</title>
</head>

<body>

Producto añadido.
<br>
<br>
<br>
<a href="index.php">- Volver</a>
<br>
<br>
<a href="ver_carrito.php">- Ver carrito</a>

</body>
</html>

modificar el lib_carrito.php:


añadir funcion:
function anade_producto($cantidad){
$this->array_cant_prod[$cantidad]=2;
}

pero que tengo que poner en vez de 2 para que cada vez añada uno mas.

pongo esto o que:
$this->array_cant_prod[$cantidad]++;

gracias por tu ayuda.

lo he visto claro cuando he visto el fichero eliminar si al eliminar pone el id a 0 por que no al añadir poner la cantidad uno mas.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela

Administrador


  Karma               32083

#10 Publicado: 31 Oct 2011 10:11



Prueba con esto otro y nos cuentas.

$this->array_cant_prod[$cantidad]=array_cant_prod[ $cantidad]+1;

Supuestamente también valdría lo otro que has puesto.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
Todo lo que sueñas, se puede diseñar. FM 11 * VV 6 * PHP 5 * MySQL * Win 8.

Miembro

Asiduo

  Karma             657

#11 Publicado: 31 Oct 2011 17:57



Bueno la unica funcion que funciona es esta:


function anade_producto($cantidad){
$this->array_cant_prod[$cantidad]=$this->array_c ant_prod[$cantidad]+1;

}
gracias por todo y un saludo a todo el mundo.


Si este mensaje te ha servido de ayuda dale tu voto Voto positivo, si quieres penalizarlo Voto positivo
okela
Su respuesta

Estilo Negrillas  Estilo Italico  Estilo Subrayado  URL De La Imagen  URL De La Web  Preformatted Text  YouTube URL  Sin código BB
Emoticones
:) ;) :up: :down: :biglol: :confused :cool: :mad: :sad: :shame: :smirk: :tongue: ... Más  Emoticones desactivados
Color de texto
Texto en negro Texto en blanco Texto en gris Texto en rojo Texto en azul Texto en verde Texto en rojo oscuro Texto en cian Texto en azul oscuro Texto en púrpura Texto en amarillo Texto en rosa Texto en naranja Texto en verde oliva Texto en marrón



 » Usuario  » Contraseña 
Solo Usuarios Registrados Pueden Postiar Aqui.
 

Tópicos relacionados con duda carrito compra

Carrito ponerle cantidad
No me funciona el carrito, agradeceria ayuda
Problema con poder introducir cantidad deseada en vez de 1 en carrito
como pasar variables de carrito a base datos mysql
duda con colores


Conectados: Invitados - 13
Miembros - 0
En verde usuarios ZDDR

Realizado con miniBB © 2001-2021
Para Udias.com © 1996-2021
Hosting con Interdominios