Foros del Web » Programando para Internet » PHP »

Error en paginación

Estas en el tema de Error en paginación en el foro de PHP en Foros del Web. Hola todos :) Tengo esto y estoy utilizando el Paginator: Código PHP: <div align="center"> <strong><center>INVESTMENT HISTORY (MEMBERS WITH UPGRADE)</strong></font><br><br> <form method="POST" action="list_upgrades_pagi.php">   <font color="#0099CC">View members with upgrades number equal to </font>   <input type="text" name="T1" size="3"></font>   <br><input type="submit" value="Send" name="B1"><input type="reset" value="Reset" name="B2"></p><br>   </div> <? if ( $_POST [ "B1" ]) { ...
  #1 (permalink)  
Antiguo 19/04/2006, 05:34
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 13 años, 2 meses
Puntos: 1
Error en paginación

Hola todos :)
Tengo esto y estoy utilizando el Paginator:
Código PHP:
<div align="center">
<strong><center>INVESTMENT HISTORY (MEMBERS WITH UPGRADE)</strong></font><br><br>
<form method="POST" action="list_upgrades_pagi.php">
  <font color="#0099CC">View members with upgrades number equal to </font>
  <input type="text" name="T1" size="3"></font>
  <br><input type="submit" value="Send" name="B1"><input type="reset" value="Reset" name="B2"></p><br>
  </div>
<?
if ($_POST["B1"]) {
  
$view=$_POST["T1"];
//  echo "view $view";
  
if ($view==0) {
    echo 
"<center><font color=red>Please enter a number > zero</font></center>";
    exit();
  }

$_pagi_sql=("SELECT DISTINCT usrid AS USER, user.name AS NAME, user.email AS EMAIL, COUNT(usrid) AS COUNT FROM investment_history, user WHERE user.id=investment_history.usrid GROUP BY usrid HAVING COUNT(usrid)='$view'");
$_pagi_propagar = array(
            
'view',
            );
  include(
"paginator.inc.php");
if (
$rowmysql_fetch_array($_pagi_result))
{
$count=$row["COUNT"];

$usrid=$row["USER"];

//echo "<strong><center>INVESTMENT HISTORY (MEMBERS WITH UPGRADE)</strong></font><br><br>";
   
echo "<TABLE BORDER='1'>";
   echo 
"<TR><TD bgcolor='DARKCYAN' align='center'><font color=white><small><small>USERID</small></small></TD><TD bgcolor='DARKCYAN' align='center'><font color=white><small><small>NAME</small></small></TD><TD bgcolor='DARKCYAN' align='center'><font color=white><small><small>EMAIL</small></small></TD><TD bgcolor='DARKCYAN' align='center'><font color=white><small><small>UPGRADES BOUGHT</small></small></TD></TR>";
DO {


$alt=="alt1" $alt="alt2" $alt="alt1"# Cambia el color
   
echo "<TR class='$alt'><TD align='center'><small><small>".$row["USER"]."</small></small></TD><TD align='center'><small><small>".$row["NAME"]."</small></small></TD><TD align='center'><small><small>".$row["EMAIL"]."</small></small></TD><TD align='center'><small><small>".$row["COUNT"]."</small></small></TD></TR>";
//echo "aqui $count $usrid";
}

WHILE (
$row=mysql_fetch_array($_pagi_result));

   echo 
"\t</tr>\n";
   echo 
"</TABLE>";
//echo "Records on this page: ".mysql_num_rows($_pagi_result);
//Incluimos la barra de navegación
echo"<p><small>".$_pagi_navegacion."</small></p>";
echo
"<p><small>".$_pagi_info."</small></p>";
}
else
{
echo 
"No upgrade bought";
}
}
?>
<br><center><font size=2 face=verdana><a href="/control/?y=0">Back to admin area</a></font></center>
Mi primer problema se resolvió cambiando la variable $_pagi_conteo_alternativo a true.
Pero ahora si tengo más de una página para mostrar a partir de la 2da. están todas vacías y hasta donde yo veo la única variable que tengo que progagar es 'view' pero no hay forma.
Una ayudita ?
Muchas gracias.

Última edición por Suyta; 02/05/2006 a las 15:23
  #2 (permalink)  
Antiguo 19/04/2006, 15:47
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Hola Suyta:

El "problema" que tienes es muy simple. Tú tienes una variable llamada $view que recoge un valor enviado por el método post. Cuando pulsas un enlace a otra página, la página ya no se está generando a partir de un formulario, sino a partir de un enlace. En otras palabras, la página ya no trae variables en $_POST, y paginator propaga tus variables vía $_GET.

En tu caso deberás hacer algo como esto:
Código PHP:
<?php
//...
if (isset($_POST['T1']) || isset($_GET['T1'])){
  
$view $_REQUEST['T1'];
//  echo "view $view";
  
if ($view==0) {
    echo 
"<center><font color=red>Please enter a number > zero</font></center>";
    exit();
  }

//...
$_pagi_propagar = array(
            
'T1',
            ); 
?>
Como ves, es mejor que propagues la variable 'T1', y $view tome el valor $_POST['T1'] si existe, y si no existe, tome el valor $_GET['T1'].

Espero se haya entendido algo :p

Saludos
  #3 (permalink)  
Antiguo 02/05/2006, 15:21
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 13 años, 2 meses
Puntos: 1
Se entendió perfecto MAESTRO !
Muchísimas gracias
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 11:19.