22/09/2011, 05:58
|
| | Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 13 años, 3 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>
|