PHP - evitar cargar pagina

   
Vista:

evitar cargar pagina

Publicado por mario (17 intervenciones) el 26/12/2013 15:40:06
hola amigos,
estoy intentando hacer una tienda online con php y html, el problema que tengo es que cada vez que pulso sobre el boton añadir (input) de cualquier articulo m vuelve a cargar la pagina, me explico, si por ejemplo tengo 20 articulos y estoy en el 15 al pulsar en añadir la pagina no se queda donde estoy me vuelve al principio.
HAY AGUNA MANERA DE EVITARLO,

muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

evitar cargar pagina

Publicado por Jose Manuel josema@orbisapientia.com (43 intervenciones) el 26/12/2013 23:49:17
Hola:

Por lo que nos indicas, el problema es que no conserva los artículos que vas añadiendo en el carrito de la compra, ¿estoy en lo correcto? Si es así, lo que necesitas es guardar de alguna manera los artículos que se van añadiendo al carrito en la correspondiente sesión, con lo que creo que la solución más correcta es usar variables de sesión ($_SESSION).

Si no es eso, acláranos un poco más lo que ocurre, adjunta algo de código, alguna captura, en fin, que nos quede más claro lo que ocurre.

Espero que te sea útil. Saludos,

José Manuel
===========================
http://www.orbisapientia.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

evitar cargar pagina

Publicado por mario (17 intervenciones) el 27/12/2013 14:16:43
Hola José, muchas gracias por tu contesta, como soy un principiante, he intentado colocar la variable sesion en varios sitios logicos y no hay manera, te explico muy breve. Yo quiero que me muestre los productos y una vez que elija alguno que los almacene sin mostrarlos, pero como dije, si me desplazo por la pagina y elijo uno al final, no se queda la pagina quieta me vuelve al principio y eso es lo que no quiero. te paso el codigo a ver si ves el fallo, muchisimas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php include ("conexion.php");?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
 
 
<!-<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
 
<link rel="stylesheet" href="tienda.css"/>
<title>Documento sin título</title>
 
<script type="text/javascript">
        $(window).scroll(function()
        {
            if ($(this).scrollTop() >20)
            {
                $(".container").addClass("fixed");
                $("#body").addClass("fijada");
            }else{
                $(".container").removeClass("fixed");
                $("#body").addClass("fijada");
            }
        });
    </script>
</head>
 
<body id="body">
 
<div class="cabeceralogo">
	<a href="tienda_carrito.php">Ver carrito</a>
</div>
 
 <?php $a=verproductos()?>
 
</body>
 
</html>

/********************************* pagina conexion.php ****************************/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php include ("conectar.php");// conectamos con la b.d.
 
 // AQUI SOLO QUIERO QUE VAYA GUARDANDO LOS ARTICULOS SIN MOSTRARLOS, SOLO CUANDO PRESIONE EN EL ACCESO DIRECTO TIENDA_CARRITO.PHP
session_start();
if(isset($_POST['comprar']))
	{
	$imagen=$_POST['imagen'];
	$id=$_POST['id_txt'];
	$nombre=$_POST['titulo'];
	$precio=$_POST['precio'];
	$descripcion=$_POST['descripcion'];
	$mi_carrito[]=array('id'=>$id,'imagen'=>$imagen,'nombre'=>$nombre,'precio'=>$precio,'descripcion'=>$descripcion);  // ALMACENA MAS DE UNA FILA
	//$mi_carrito=array('id'=>$id,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cantidad);  //SOLO ALMACENA UNA FILA
	}
	if(isset($_SESSION['carrito']))
		{
 
			$mi_carrito=$_SESSION['carrito'];
			if(isset($_POST['id_txt']))
			{
				$id=$_POST['id_txt'];
				$imagen=$_POST['imagen'];
				$nombre=$_POST['titulo'];
				$precio=$_POST['precio'];
				$descripcion=$_POST['descripcion'];
 
				$posicion=-1; // porque el array empieza de cero, si existe ese articulo, estara en la posicion 0,1,2, etc.
 
					for($i=0;$i<count($mi_carrito);$i++)
					{
						if($id==$mi_carrito[$i]['id']) //$id el articulo que introduce el cliente es = a la posicion $i cogemos id
						{
							$posicion=$i;
 
						}
 
					}
					if ($posicion<>-1)   // si es distinto es xq el producto ya existe ya ha sido seleccionado una vez
			{
				//$cuanto=$mi_carrito[$posicion]['cantidad']+$cantidad;
				//$mi_carrito[$posicion]=array('id'=>$id,'imagen'=>$imagen,'nombre'=>$nombre,'precio'=>$precio,'cantidad'=>$cuanto);  
			}
		else
			{
				$mi_carrito[]=array('id'=>$id,'imagen'=>$imagen,'nombre'=>$nombre,'precio'=>$precio,'descripcion'=>$descripcion);// añadimos a la cesta el producto bien xq no se habia añadido o xq no habia nada en la cesta.	
			}
	}
}
if(isset($mi_carrito))
	$_SESSION['carrito']=$mi_carrito;
 
?>

/************** aqui selecciono todos los articulos de la b.d. ************/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
 
function verproductos() // muestro los productos de la tabla
{?>
 
 
 <?php
 
 
$consulta=mysql_query("SELECT * FROM productos"); //selecciona todos los productos de la tabla.
 
	 	while($filas=mysql_fetch_array($consulta))
			{
 
		$id= $filas['id'];
		$imagen= $filas['imagen'];
		$nombre=$filas['nombre'];
		$descripcion=$filas['descripcion'];
		$precio=$filas['precio'];
		$existencias=$filas['existencias'];
		$fecha=$filas['fecha'];
 
		?>
 
 
 
<table  id="tabla" width="225" border="0">
  <tr>
    <td class="imagen"><img src="<?php echo $imagen; ?>" width="200px" height="175px" /> </td>
  </tr>
  <tr align="left">
    <td  id="titulo" width="225"  ><?php echo $nombre ?></td>
  </tr>
  <tr>
    <td  id="descripcion" width="225"  ><?php echo $descripcion ?></td>
  </tr>
  <tr>
    <td id="precio" width="225"><?php echo $precio?>
    	<form action="" method="post" name="comprar">
        	 <input name="id_txt" type="hidden" value="<?php echo $id ?>" />
        	 <input name="imagen" type="hidden" value="<?php echo $imagen ?>" />
             <input name="titulo" type="hidden" value="<?php echo $nombre ?>" />
             <input name="descripcion" type="hidden" value="<?php echo $descripcion ?>" />
             <input name="precio" type="hidden" value="<?php echo $precio ?>" />
     	  	 <input name="comprar" type="submit" value="Comprar" />
      </form>
 
 
    </td>
  </tr>
 
 
 <?php }?>
</table>
 
 
<?php }?>
 
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar