Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/09/2011, 05:58
surferpoint9819
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: mantener variable definida tras recibirla vía POST

Supongo que te referirás a la línea 240 que es donde está el error. En esa línea es donde está puesto esto:

$_SESSION['table']= $_POST['categoria'];

Aquí está el archivo completo de nuevo, por si acaso:

Código:
<!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=ISO-8859-1" />
<title></title>
<link rel="stylesheet" type="text/css" href="estilos/tabla.css" />
</head>
<?php

function display_db_query($page, $query_limit, $connection, $sort, $table, $pageno, $order_by, $row_number, $rows_per_page, $lastpage, $numrows) {
    $result_id= mysql_query($query_limit, $connection) or die("display_db_query:" . mysql_error());
    $column_count = mysql_num_fields($result_id) or die("display_db_query:" . mysql_error());
	
    
    if ($order_by == 'h_index') {
	$order_by_clean = 'Índice h';
	} elseif ($order_by == 'g_index') {
	$order_by_clean = 'Índice g';
	} else {
	$order_by_clean = $order_by;
	}
	
	if ($sort == 'desc') {
		$sort_clean = 'descendentemente';
	} else {
		$sort_clean = 'ascendentemente';
	}
	
	
	print("<span style='font-size:15px;'>Categoría seleccionada: <strong>$table</strong>.</span>\n");
	print("<div id=tabladatos><TABLE \n");
    // Print Headers
    print("<TR>");
    for($column_num = 0; $column_num < $column_count; $column_num++) {
	$field_name = mysql_field_name($result_id, $column_num);
	// Para cambiar los nombres de los campos h_index y g_index por 'Índice h' e 'Índice g'
	if ($field_name == 'h_index') {
	$field_name_clean = 'Índice h';
	} elseif ($field_name == 'g_index') {
	$field_name_clean = 'Índice g';
	} else {
	$field_name_clean = $field_name;
	}
	
	if ($field_name == 'ISSN') {
	print("<TH "."style='color:white'>Posición</TH>");
	}
        
		echo ("<TH><a href=\"$page?order_by=$field_name&sorting=$sort&pageno=$pageno\" class=\"$field_name\" title='Ordenar por $field_name_clean.'>$field_name_clean <img style='margin-bottom:-1px;' src='estilos/sort.png'/></a></TH>");
}
    print("</TR>\n");
    // Print the body
    

	$row_number = $pageno * $rows_per_page - ($rows_per_page - 1);
	
	$lastpage_rest = $rows_per_page - (($lastpage * $rows_per_page) - $numrows);
	
	if ($sort == 'asc') {
		$row_number = ($lastpage - $pageno) * $rows_per_page + $lastpage_rest;
	}
	
	
	
	
	while($row = mysql_fetch_row($result_id)) {
        print("<TR>");
		
        for($column_num = 0; $column_num < $column_count; $column_num++) {
		
		// Para saber si la fila es par o impar, y así poder darle diferente estilo a cada una.
		$resto = $row_number%2;
		if ($resto == 0){
		$zebra = 'par';
		} else {
		$zebra = 'impar';
		}
		
		   	if($order_by == 'ISSN') {
             if ($column_num == 0) {
			 print("<TD id='$zebra'>$row_number</TD>\n");
			 print("<TD class='field_$column_num' id='$order_by'>$row[$column_num]</TD>\n");
			 } else {
			 		print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
			} 
			} elseif($order_by == 'Revista') {
			 if ($column_num == 1) {
			 print("<TD class='field_$column_num' id='$order_by'>$row[$column_num]</TD>\n");
			 } else {
			 if ($column_num == 0) {
						print("<TD id='$zebra'>$row_number</TD>\n");
						print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
						} else {
			 
			 print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
			 }
			 }
			 } elseif($order_by == 'h_index') {
			 if ($column_num == 2) {
			 print("<TD class='field_$column_num' id='$order_by'>$row[$column_num]</TD>\n");
			 } else {
			 
			 			if ($column_num == 0) {
						print("<TD id='$zebra'>$row_number</TD>\n");
						print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
						} else {
			 
			 print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
			 }
			 }
			 } elseif($order_by == 'g_index') {
			 if ($column_num == 3) {
			 print("<TD class='field_$column_num' id='$order_by'>$row[$column_num]</TD>\n");
			 } else {
			 if ($column_num == 0) {
						print("<TD id='$zebra'>$row_number</TD>\n");
						print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
						} else {
			 
			 print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
			 }
			 }
			 } else {
			 print("<TD class='field_$column_num' id='$zebra'>$row[$column_num]</TD>\n");
			}		
			
			
			 
		}
         
        print("</TR>\n");
		
		if ($sort == 'asc') {
		$row_number--;
		} else {
		$row_number++;
		}
		
    }
    print("</TABLE></div>\n");
}
function display_db_table($page, $tablename, $connection) {
    $order_by = (isset($_GET['order_by'])) ? $_GET['order_by'] : 'h_index';
    $sorting = (isset($_GET['sorting'])) ? $_GET['sorting'] : 'asc';
    switch($sorting){
  case "asc":
    $sort = 'desc';
    break;
  case "desc":
    $sort = 'asc';
    break;
	    }
	
	// PAGINACION
$_SESSION['table']=$_POST['categoria'];
$table= $_SESSION['table'];

if (isset($_GET['pageno'])) {
   $pageno = $_GET['pageno'];
} else {
   $pageno = 1;
} // if

$query_count = "SELECT count(*) FROM $table";
$result = mysql_query($query_count, $connection) or trigger_error("SQL", E_USER_ERROR);
$query_data = mysql_fetch_row($result);
$numrows = $query_data[0];

$rows_per_page = 15;
$lastpage      = ceil($numrows/$rows_per_page);

$pageno = (int)$pageno;
if ($pageno > $lastpage) {
   $pageno = $lastpage;
} // if
if ($pageno < 1) {
   $pageno = 1;
} // if

$limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page;

$revista_de = ($pageno - 1) * $rows_per_page + 1;

$revista_a = ($pageno - 1) * $rows_per_page + $rows_per_page;

$total_revistas = $numrows;

if ($revista_a > $total_revistas) {
$revista_a = $total_revistas;
}

$mostrando = "Revistas " .$revista_de ." a " .$revista_a ." de " .$total_revistas;

    $query_string = "SELECT * FROM $tablename ORDER BY $order_by"." $sort $limit";
	
    display_db_query($page, $query_string, $connection, $sort, $table, $pageno, $order_by, $mostrando, $rows_per_page, $lastpage, $numrows);
	print("<div id='paginacion'>\n");
	if ($pageno == 1) {
   
   echo " << Primera | < Anterior |";
} else {
   if ($sort == 'asc') {
   $invertsort = 'desc';
   } else {
   $invertsort = 'asc';
   }
   $fpage="{$_SERVER['PHP_SELF']}?pageno=1"."&order_by=$order_by"."&sorting=$invertsort";
   echo " <a href=$fpage><< Primera</a> |";
   $prevpage = $pageno-1;
   
   $ppage="{$_SERVER['PHP_SELF']}?pageno=$prevpage"."&order_by=$order_by"."&sorting=$invertsort";
   echo " <a href=$ppage>< Anterior</a> |";
} // if

if ($pageno == $lastpage) {
   echo " Siguiente > | Última >> |";
} else {
   $nextpage = $pageno+1;
   if ($sort == 'asc') {
   $invertsort = 'desc';
   } else {
   $invertsort = 'asc';
   }
   $npage="{$_SERVER['PHP_SELF']}?pageno=$nextpage"."&order_by=$order_by"."&sorting=$invertsort";
   echo " <a href=$npage>Siguiente ></a> | ";
   $lpage="{$_SERVER['PHP_SELF']}?pageno=$lastpage"."&order_by=$order_by"."&sorting=$invertsort";
   echo " <a href=$lpage>Última >></a> |";
} // if

echo " $mostrando";
print("</div>\n");
}
?>
<body>
<?php
 //Connection
    $global_dbh = mysql_connect('localhost','inrecs_user','inrecs') or die("Unable to connect: " . mysql_error() . "<br>");
    $database = mysql_select_db("inrecs_s") or die( "Unable to select database<br>");
    /*$table = "documentación" or die( "Selecciona una categoría<br>");*/
	$_SESSION['table']= $_POST['categoria'];
	$table = $_SESSION['table'] or die ("<p>Seleccione una categoría</p><br>");
    $page = 'inrecs_s.php';
    display_db_table($page, $table, $global_dbh, FALSE, "border='1'");

    ?>
 
</div>
</body>
</html>