Foros del Web » Programando para Internet » PHP »

Paginar sin consulta a BD

Estas en el tema de Paginar sin consulta a BD en el foro de PHP en Foros del Web. Hola buenas, Bueno pues hoy he posteao 2 veces y con esta 3,y las 2 veces he dado con el problema yo..Pero esta vez,lo dudo,no ...
  #1 (permalink)  
Antiguo 03/11/2006, 18:42
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Paginar sin consulta a BD

Hola buenas,

Bueno pues hoy he posteao 2 veces y con esta 3,y las 2 veces he dado con el problema yo..Pero esta vez,lo dudo,no tengo ni la mas remota idea de como hacerlo.

La cuestion es paginar sin hacer una consulta a la base de datos.Estoy haciendo una tienda online y necesito paginar la pagina que muestra el carrito,en esta pagina se van creando variables de sesion si el producto no existe en el carrito,si existe se añade la cantidad indicada,entonces supongo que lo que busco es paginar segun las variables de sesion que hay creadas,si no es asi..decidmelo por que estoy completamente perdido..

Un saludo y gracias!!
__________________
La chapucería de la esquina
  #2 (permalink)  
Antiguo 04/11/2006, 08:03
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Nadie sabe como tendria que hacerlo??

Un Saludo y gracias!!
__________________
La chapucería de la esquina
  #3 (permalink)  
Antiguo 04/11/2006, 08:49
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas denuevo,

Profavor,lo necesito,es urgente.

Un Saludo y gracias!!
__________________
La chapucería de la esquina
  #4 (permalink)  
Antiguo 04/11/2006, 09:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Lo que quieres es paginar el carrito que esta almacenado en tus variables de sesion?
  #5 (permalink)  
Antiguo 04/11/2006, 10:54
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas,

Si, eso es.La pagina que estoy creando tiene un contenedor de alto semi-fijo..es decir,se hace alto segun el contenido pero tiene un tope de altura..entonces necesito paginar para que no sobrepase el pie de pagina.

Un Saludo y gracias GatorV!!

P.D: Ya he pedido disculpas por MP al que me advirtio de la politica del foro,pero igualmente pido disculpas por el post para que suba en el indice el tema,no era mi intencion,tan solo es que es un problema que necesito solucionar cuanto antes..PERDON.
__________________
La chapucería de la esquina
  #6 (permalink)  
Antiguo 04/11/2006, 21:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
A efectos de "paginación" lo que interesa es que aclares que tipo de "variable" o dato estás paginado. Si dices "carrito" solemos asociarlo a una "sesión" .. pero en definitiva lo que en esa variable de sesión propagas no es más que un "array" (matriz, arreglo ...).

En definitiva .. el problema que tienes es como "página un array" .. si buscas así te irá mejor.

Ahora, volviendo al "problema" en sí de "paginar" .. el concepto en sí no es más que el de ir "moviendo" un puntero .. en un array será el "indice" en el que estás y hacia el que vas.

Ahora .. habrá que ver como es el "array" que manejas (de que tipo: será asociativa? .. de N dimensiones? o tienes N arrays con indices paralelos? .. )

En definitiva .. si vas poniendo el código que usas .. alguna idea mejor nos haremos de todo esto que te comento.

De momento te puedo dejar algo para que te oriente sobre el tema de pagianr un array:

http://www.php-hispano.net/archivos/...un-array1.html

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 05/11/2006, 10:09
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Hola buenas,

Muchas gracias.Me leo eso y si tengo dudas,las expongo.

Un Saludo!!
__________________
La chapucería de la esquina
  #8 (permalink)  
Antiguo 05/11/2006, 10:31
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Buenas de nuevo,

Me he mirado el codigo para ver si podria yo mismo implementarlo..pero no se como lo podria hacer..aqui os dejo el codigo:
Código PHP:
if(!$_GET['v'] == "n"){
    
conectardb($host,$usuariodb,$contrasenadb,$basedatos);
    if(!empty(
$producto)){
    
$sql="SELECT producto FROM productos WHERE producto='$producto'";
    }elseif(!empty(
$proyecto)){
    
$sql="SELECT proyecto FROM proyectos_dvd WHERE numdvd='$proyecto'";
    }
    
$querymysql_query($sql);
    
$resultadomysql_fetch_array($query);
    }

$item=$resultado[0];

$cantidad=$_POST['cantidad'];


$itemsEnCesta=$_SESSION['itemsEnCesta'];


if(
$_POST['actucan']){
if(!empty(
$_POST['cantidadnueva']) && $_POST['cantidadnueva'] > 0){
$pro=$_GET['i'];

$cantidadnu=$_POST['cantidadnueva'];
$itemsEnCesta[$pro]=$cantidadnu;

}elseif(
$_POST['cantidadnueva'] == || empty($_POST['cantidadnueva'])){
$pro=$_GET['i'];
unset(
$itemsEnCesta[$pro]);
}
}

if (
$item){
   if (!isset(
$itemsEnCesta)){
   
$itemsEnCesta[$item]=$cantidad;
   }else{

     foreach(
$itemsEnCesta as $k => $v){
 if (
$item==$k){

         
$itemsEnCesta[$k]+=$cantidad;
         
$encontrado=1;
         }
      }
      if (!
$encontrado){ $itemsEnCesta[$item]=$cantidad;}
        
   }
}



$_SESSION['itemsEnCesta']=$itemsEnCesta;

if (isset(
$itemsEnCesta)){
$cantidades= array();
$unidades= array();
echo 
"<table style='margin: 0px;padding: 0px;'>";
   foreach(
$itemsEnCesta as $k => $v){

    
$sqlp="SELECT pre FROM precios WHERE pro='$k'";
    
    
$querypmysql_query($sqlp);
    
$resultadopmysql_fetch_array($queryp);
      echo 
"<tr><td><font style='font-weight: bold;color: #e98d2b;font-family: Verdana;font-size:0.8em;'>Producto: </font><font style='color: #000000;font-weight: bold;font-family: Verdana;font-size:0.8em;'>".$k."</font></td>
            <td style='padding-left: 42px;'><font style='font-weight: bold;color: #e98d2b;font-family: Verdana;font-size:0.8em;'> Unidades </font><form method='post' action='ac.php?v=n&i=$k'><input type='text' name='cantidadc' size='1' value='"
.$v."' readonly='readonly' /><input type='text' name='cantidadnueva' size='1' style='margin-left: 5px;' value='0'/><input type='submit' name='actucan' value='Cambiar Cantidad' style='margin-left: 5px;background-color: #e74a49;' /></form></td>
            <td style='padding-left: 42px;'><font style='font-weight: bold;color: #e98d2b;font-family: Verdana;font-size:0.8em;'>Precio Und.</font><font style='color: #000000;font-weight: bold;font-family: Verdana;font-size:0.8em;'> $resultadop[0] &euro;</font></td>
            <td style='padding-left: 42px;'><font style='font-weight: bold;color: #e98d2b;font-family: Verdana;font-size:0.8em;'>Total: </font><font style='color: #000000;font-weight: bold;font-family: Verdana;font-size:0.8em;'>"
.$totalp=($resultadop[0]*$v)." &euro;</font></td></tr>";
   
array_push($cantidades,$totalp);   
array_push($unidades,$v); 
   }
   if(
count($cantidades) > && count($unidades) > 0){
   echo 
"<tr><td colspan='2' style='padding-left: 0px;'><font style='font-weight: bold;color: #e98d2b;font-family: Verdana;font-size:0.8em;'>Unidades totales de la compra: </font><font style='color: #000000;font-weight: bold;font-family: Verdana;font-size:0.8em;'>".array_sum($unidades)." Und.</font>"."</td>";

  echo 
"<td colspan='2' align='right'><font style='font-weight: bold;color: #e98d2b;font-family: Verdana;font-size:0.8em;'>Precio total de la compra: </font><font style='color: #000000;font-weight: bold;font-family: Verdana;font-size:0.8em;'>".array_sum($cantidades)." &euro;</font>"."</td></tr>";
  echo 
"<tr><td colspan='4' align='right'><form action='ppc.php' method='post'><input type='submit' name='envio' value='Pasar por caja' style='margin-top: 10px;background-color: #e74a49;' /></form></td></tr>";
  }else{
echo 
"<p>El carrito esta vacio.No has a&ntilde;adido ningun producto al carrito.</p>";
}
  }
echo 
"</table>";
if(
$_GET['vo'] == "s"){
  
$categoria$_GET['cat'];
  
$pagina=$_GET['_pagi_pg'];
  if(isset(
$producto)){
   echo 
"<a href='ti.php?cat=$categoria'>Seguir comprando</a>";
   echo 
"<br/><a href='ti.php'>Ir a categorias</a>";
   }elseif(isset(
$proyecto)){
   echo 
"<a href='pd.php'>Seguir comprando</a>";
 }
}


Tan solo una observacion, $producto y $proyecto las recogo por metodo GET..

Un Saludo!!
__________________
La chapucería de la esquina
  #9 (permalink)  
Antiguo 05/11/2006, 19:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Tan solo una observacion, $producto y $proyecto las recogo por metodo GET..

Como ya te indiqué tu lo que vas a paginar o donde va a actuar tu paginación es en el punto que tu "carrito" muestra los "productos" que tiene el carro en el .. Es decir; tu variable de sesión que contiene los datos de esos productos y que en definitiva es un "array".

En tu código .. en el bucle actual:

Código PHP:
foreach($itemsEnCesta as $k => $v){
  
// etc ..

Ahí recorres los productos de tu array: $itemsEnCesta .. es ese el array que debes paginar. Con esta "pista" intenta ver ahora denuevo el código de ejemplo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 05/11/2006, 22:05
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 21 años, 4 meses
Puntos: 7
Alguna vez hice un carrito de compras con paginacion sobre un arreglo bidimensional, este era indexado-Asociativo. Mediante el indexado, lo paginas, mediante el asociativo, guardas los valores de sesion.


Chaop!
  #11 (permalink)  
Antiguo 07/11/2006, 17:59
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 9 meses
Puntos: 2
Hola buenas,

Lo probe ayer haber si me salia y no me salio..

Me podeis hechar una segunda pista?? jaja

Un Saludo!!
__________________
La chapucería de la esquina
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 14:46.