Foros del Web » Programando para Internet » PHP »

Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Estas en el tema de Mostra tabla con resultado de consulta con 10 registros sucesivamente. en el foro de PHP en Foros del Web. Saludos a todos. Mi inquietud es la siguiente: Estoy sacando unos datos de una tabla que tengo en mi base de datos MySQL y lo ...
  #1 (permalink)  
Antiguo 23/07/2007, 10:01
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Saludos a todos.

Mi inquietud es la siguiente: Estoy sacando unos datos de una tabla que tengo en mi base de datos MySQL y lo hago de esta forma:

Código PHP:
// EJECUCIÓN DE LA CONSULTA.
$consulta1 "SELECT * FROM usuarios ORDER BY codusu ASC ";
$resultado1 mysql_query($consulta1$link);    
                
// ENCABEZADO DE LA TABLA DE RESULTADOS.
echo "<h1><td align = left ><font color = 'blue'><i>ADMINISTRADOR -    ".$_SESSION['usuario']."<B></td></h1></i>";

echo 
"<h1><td align = left ><font color = 'blue'><i>USUARIOS REGISTRADOS EN EL SISTEMA.<B></td></h1></i>";
echo 
"<hr>\n\n";
echo 
"<form action = 'cerrar_sesion_admin.php' method = 'post' >";
echo 
"<center><table border = '1' bordercolor = 'white' cellspacing = 0 > \n";
echo 
"<tr><td align = center bgcolor = #5B5BFF ><font color = 'white'><font size = 2><B>CÓDIGO DE USUARIO</td><td  bgcolor = #5B5BFF ><font  color = 'white'><font size = 2><B><center>NOMBRE DE USUARIO </td><td bgcolor = #5B5BFF ><font color = 'white'><font size = 2><B><center>ESTADO DEL USUARIO</td><td bgcolor = #5B5BFF ><font  color =  'white'><font size = 2><B><center>FECHA ULTIMO ACCESO</td></tr>";

                
while(
$row mysql_fetch_row($resultado1))
{
    echo 
"<tr>"
    echo 
"<td align = center bgcolor = #E7E7E7 ><font size =2><b>".$row[0]."</td>";    
    echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[1]."</td>";
      if (
$row[2] == 'Activo')
      {
         echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><font color =                            'green'><b>".$row[2]."</td>";
      }
      else
      {
         echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[2]."</td>";
      }
      echo 
"<td align = center bgcolor = #E7E7E7 ><font size =2><b>".$row[3]."</td>";  
      echo 
"</tr>";
}
        
      echo 
"</table></center>";
      echo 
"<hr>";
      echo 
"\n<tr><td colspan = 2 align = right><input type = 'submit' value =  'Cerrar   sesion' >
      </tr>"
;
      echo 
"\n</form>"
Esa es la tabla que me genera lo que quisiera es que me mostrara por Ejemplo: 10 registros(Esto por la razon de que son muchos registros en mi tabla) y atravez de un link Siguiente me mostrara lo siguientes 10 y asi sucesivamente los de mostra 10 o x cantidad se que es con un LIMIT pero como haria lo de siguiente para que me mostrara los demas registros?

Espero haberme hecho entender y espero sus colaboraciones con este asunto.

Gracias.

Última edición por Carlojas; 23/07/2007 a las 10:08
  #2 (permalink)  
Antiguo 23/07/2007, 10:05
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Ahhhhh lo que necesitas es una pagiaciòn...

Mira este link

Saludos y suerte
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 23/07/2007, 10:10
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

No esta de mas que también le eches un ojo a este link http://jpinedo.webcindario.com/scripts/paginator/

Saludillos.
  #4 (permalink)  
Antiguo 23/07/2007, 10:18
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
De acuerdo Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Gracias Carxl y mauled por sus aportes.
  #5 (permalink)  
Antiguo 23/07/2007, 10:51
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

yo lo pagino asi $_pagi_cuantos = 10; ahi cambias el valor de cuantos registros mostras 10 15 20 etc.
Código PHP:
<?php include("cone.php"); ?>
<?php

$_pagi_sql 
=("SELECT hotel,estrellas,vigencia,sgl,dbl,tpl,suite,cama,adicional,htm from paquetes WHERE web ='at_web'order by hotel Asc");
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 20
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
echo 
'<table width="580" border="0" bgcolor="#993366" cellpadding="0" cellspacing="0" >';
echo
'
  <tr height="25"> 
    <td width="150" align="left"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Argentina</font></strong></td>
    <td height="20" width="10" align = "left" > 
     <strong> 
     <font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">*</font></strong></td>
    <td width="100"  align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Vigencia</font></strong></td>
    <td width="30"align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">SGL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">DBL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">TPL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">SUITE</font></strong></td>
    <td width="30" align="center"><img src="iconocama.gif" width="19" height="20"></td>
    <td width="80" align="lcenter"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">ADICIONAL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Fotos</font></strong></td>
  </tr>'
// Así escribimos la cabecera de la tabla
while ($row mysql_fetch_array($_pagi_result)) { 

if (
$colorfila==0){
       
$color"#F4EACA";
       
$colorfila=1;
    }else{
       
$color="#FFFFE6";
       
$colorfila=0;
    }

 echo 
'<tr bgcolor='.$color.'>''<td  height="20" width="150" height="4" >'.'<strong>'.$row['hotel'].'</td>'.'</strong>'.'<td height="20" width="10" align = "left" >'.'<strong>'.$row['estrellas'].'</td>'.'</strong>'.'<td width="100"  align = "center" >'.'<strong>'.$row['vigencia'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['sgl'].'</td>'.'</strong>'.'<td height="20" width="30"  align = "center" >'.'<strong>'.$row['dbl'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['tpl'].'</td>'.'</strong>'.'<td width="30"  align = "center" >'.'<strong>'.$row['suite'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['cama'].'</td>'.'</strong>'.'<td height="20" width="80" align="center">'.'<strong>'.$row['adicional'].'</td>'.'</strong>'.'<td height="20"width="30" align ="center">'.$row['htm'].'</td>'.'</tr>';

}

echo 
'</table>'// Fin de la tabla.
echo"<p>".$_pagi_navegacion."</p>";
?>

paginator.inc.php de Javier pinedo si no lo tenes te lo paso por mail. suerte
  #6 (permalink)  
Antiguo 23/07/2007, 12:53
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

El script paginator perfecto, pero tengo un problema como al generar el script tambien abro una sesión entonces al dar siguiente me sale un mensaje que tengo en el script que necesito introducir el nombre de usuario y la contraseña. aqui dejo mi script completo.


Código PHP:
include("conex.php");
        
$link Conectarse();
        
        
$usuario $_POST['usuario'];
        
$password $_POST['password'];
        
        if (!(empty(
$usuario)) and (!empty($password)))
        {
        
                    
            
$consulta "SELECT * FROM administracion WHERE usuario = '$usuario'";
            
$resultado mysql_query($consulta$link);
            
$cursor mysql_fetch_array($resultado);
                    
            if (
$cursor['usuario'] != $usuario or $cursor['password'] != $password)
            {
            
                echo 
"<center><font color = #575757 ><b>Los datos que ha introducido son incorrectos.<a href =                'administracion.php'><img src = 'Ir.gif' vspace = 10 border = 0  height = 50 width = 50 ></center></font></a>";                exit();
            }
            else
            {
                
// NOMBRE DE LA SESIÓN
                
session_name("LoginAdministrador");
                
                
// INICIAR SESIÓN.
                
session_start();
                
                
// ACCESO AL SISTEMA.
                
$_SESSION["ultimoAcceso"] = date("Y-m-d H:i:s");
                
                
$consul "SELECT usuario, password FROM administracion WHERE  password = '$password' ";
                
$result mysql_query($consul$link);
                
$fil mysql_fetch_array($result);
                
$_SESSION["usuario"] = $fil['usuario'];    
                
                
// PAGINAS PRIVADAS.
                
echo('<a href = "docentes.php" target = "Ventana_4" ><img src = "Usuarios1.gif" vspace = "10" border = "0"                align = right height = 64 width = 64 alt = "Para registrar un nuevo docente haga click sobre este icono." title =                "Para registrar un nuevo docente haga click sobre este icono." ></a>');
                echo(
'<a href = "noticias.php" target = "Ventana_5"><img src = "Noticias1.gif" vspace = "10" border = "0"                align = right height  = 64  width =  64 alt = "Para publicar una nueva noticia haga click sobre este icono." title                = "Para publicar una nueva noticia haga click sobre este icono."></a>');
                
                
// EJECUCIÓN DE LA CONSULTA.
                
$consulta1 "SELECT * FROM usuarios ORDER BY codusu ASC ";
                
$resultado1 mysql_query($consulta1$link);    
                
                
// ENCABEZADO DE LA TABLA DE RESULTADOS.
                
echo "<h1><td align = left ><font color = 'blue'><i>ADMINISTRADOR - ".$_SESSION['usuario']."<B></td></h1></i>";
                echo 
"<h1><td align = left ><font color = 'blue'><i>USUARIOS REGISTRADOS EN EL SISTEMA.<B></td></h1></i>";
                echo 
"<hr>\n\n";
                echo 
"<form action = 'cerrar_sesion_admin.php' method = 'post' >";
                echo 
"<center><table border = '1' bordercolor = 'white' cellspacing = 0 > \n";
                echo 
"<tr><td align = center bgcolor = #5B5BFF ><font color = 'white'><font size = 2><B>CÓDIGO DE USUARIO</td><td                bgcolor = #5B5BFF ><font  color = 'white'><font size = 2><B><center>NOMBRE DE USUARIO </td><td bgcolor = #5B5BFF >                <font color = 'white'><font size = 2><B><center>ESTADO DEL USUARIO</td><td bgcolor = #5B5BFF ><font  color =                'white'><font size = 2><B><center>FECHA ULTIMO ACCESO</td></tr>";
                
                while(
$row mysql_fetch_row($resultado1))
                {
                    echo 
"<tr>"
                    echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[0]."</td>";
                    echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[1]."</td>";
                    if (
$row[2] == 'Activo')
                    {
                        echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><font color = 'green'><b>".$row[2]."</td>";
                    }
                    else
                    {
                        echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[2]."</td>";
                    }
                    echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[3]."</td>";
                    echo 
"</tr>";
                }
        
                    echo 
"</table></center>";
                    echo 
"<hr>";
                    echo 
"\n<tr><td colspan = 2 align = right><input type = 'submit' value = 'Cerrar sesion' >
                    </tr>"
;
                    echo 
"\n</form>";
                
            }
        }
        else
        {
            echo 
"<center><font color = #575757 ><b>Debe ingresar el nombre de usuario y la contraseña para entrar al sistema.<a            href = 'administracion.php'><img src = 'Ir.gif' vspace = 10 border = 0  height = 50 width = 50 ></center>            </font></a>";            
            exit();
        }
?> 
Como hago para mantener los datos de la sesion al dar siguiente a la otra pagina de resultados? este es mi script original sin los cambios para el paginator.

Espero me puedan ayudar.
  #7 (permalink)  
Antiguo 23/07/2007, 13:19
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

y supongo que no cerrando la sesion sino manteniendola en la otras páginas.
  #8 (permalink)  
Antiguo 23/07/2007, 13:22
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Exactamente mvlsistemas. alguna sugerencia?
  #9 (permalink)  
Antiguo 23/07/2007, 14:15
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Alguna sugerencia de alguien al respecto?

Saludos.
  #10 (permalink)  
Antiguo 23/07/2007, 14:26
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Una ayuda con esto que me esta enredando


Saludos.
  #11 (permalink)  
Antiguo 23/07/2007, 18:04
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Si lo 1º es que no postees 3 veces seguidas mas vale edita el mensaje.

lee esto tal vez te sirva: http://www.forosdelweb.com/showthrea...998#post238998

y esto http://www.forosdelweb.com/showpost....&postcount=129
  #12 (permalink)  
Antiguo 23/07/2007, 18:13
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Mostra tabla con resultado de consulta con 10 registros sucesivamente.

Ya que tus variables $usuario y $password son seteadas tomando los valores de un formulario ($_POST) solo estaran disponibles en la primera pagina a la que entres. Esa no es una forma apropiada de loguear usuarios. Al hacer el login, lo mejor seria que guardes una variable de sesion que te indique que el usuario se logueo, algo asi:

Código PHP:

/* LA SESION LA INICIAS DESDE EL COMIENZO */
// NOMBRE DE LA SESIÓN
session_name("LoginAdministrador");

// INICIAR SESIÓN.
session_start();
    
include(
"conex.php");
    
    
$link Conectarse();

//Funcion que se ejecutara en caso de que el usuario no se haya logueado o los datos sean incorrectos
function desconocido($msg "Datos incorrectos") {
    echo 
"<center><font color = #575757 ><b>$msg <a href='administracion.php'><img src='Ir.gif' vspace=10 border=0  height=50 width=50 ></center></font></a>";
    return;
}

//Si proviene de un formulario:
if($_SERVER['REQUEST_METHOD'] == 'post') {
    
extract($_POST);
    
$consulta "SELECT * FROM administracion WHERE usuario = '$usuario'";
    
$resultado mysql_query($consulta$link);
    
$cursor mysql_fetch_array($resultado);
    if (
$cursor['usuario'] != $usuario or $cursor['password'] != $password) {
        
desconocido("Los datos que ha introducido son incorrectos");
    } else {
        
$_SESSION['usuario'] = $usuario;
        
$_SESSION['password'] = $password;
        
$_SESSION['registrado'] = 1;
        
header("Location: ".$_SERVER["PHP_SELF"]);
    }
    exit;
} else {
    
//Esto si no proviene de un formulario, pero tampoco esta logueado
    
if(!isset($_SESSION['registrado']) || empty($_SESSION['usuario']) || empty($_SESSION['password'])) {
        
desconocido("Debe ingresar el nombre de usuario y la contraseña para entrar al sistema.");
        exit;
    } else {
        
// ACCESO AL SISTEMA.
        
$_SESSION["ultimoAcceso"] = date("Y-m-d H:i:s");
        
        
// PAGINAS PRIVADAS.
        
echo('<a href = "docentes.php" target = "Ventana_4" ><img src = "Usuarios1.gif" vspace = "10" border = "0" align = right height = 64 width = 64 alt = "Para registrar un nuevo docente haga click sobre este icono." title = "Para registrar un nuevo docente haga click sobre este icono." ></a>');
        echo(
'<a href = "noticias.php" target = "Ventana_5"><img src = "Noticias1.gif" vspace = "10" border = "0" align = right height  = 64  width =  64 alt = "Para publicar una nueva noticia haga click sobre este icono." title = "Para publicar una nueva noticia haga click sobre este icono."></a>');
        
        
// EJECUCIÓN DE LA CONSULTA.
        
$consulta1 "SELECT * FROM usuarios ORDER BY codusu ASC ";
        
$resultado1 mysql_query($consulta1$link);    
        
        
// ENCABEZADO DE LA TABLA DE RESULTADOS.
        
echo "<h1><td align = left ><font color = 'blue'><i>ADMINISTRADOR - ".$_SESSION['usuario']."<B></td></h1></i>";
        echo 
"<h1><td align = left ><font color = 'blue'><i>USUARIOS REGISTRADOS EN EL SISTEMA.<B></td></h1></i>";
        echo 
"<hr>\n\n";
        echo 
"<form action = 'cerrar_sesion_admin.php' method = 'post' >";
        echo 
"<center><table border = '1' bordercolor = 'white' cellspacing = 0 > \n";
        echo 
"<tr><td align = center bgcolor = #5B5BFF ><font color = 'white'><font size = 2><B>CÓDIGO DE USUARIO</td><td bgcolor = #5B5BFF ><font  color = 'white'><font size = 2><B><center>NOMBRE DE USUARIO </td><td bgcolor = #5B5BFF >                <font color = 'white'><font size = 2><B><center>ESTADO DEL USUARIO</td><td bgcolor = #5B5BFF ><font  color =                'white'><font size = 2><B><center>FECHA ULTIMO ACCESO</td></tr>";
            
        while(
$row mysql_fetch_row($resultado1)) {
            echo 
"<tr>"
            echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[0]."</td>";
            echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[1]."</td>";
            if (
$row[2] == 'Activo') {
                echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><font color = 'green'><b>".$row[2]."</td>";
            } else {
                echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[2]."</td>";
            }
            echo 
"<td align = center bgcolor = #E7E7E7 ><font size = 2><b>".$row[3]."</td>";
            echo 
"</tr>";
        }
        echo 
"</table></center>";
        echo 
"<hr>";
        echo 
"\n<tr><td colspan = 2 align = right><input type = 'submit' value = 'Cerrar sesion' >
        </tr>"
;
        echo 
"\n</form>";
    }

Bueno modifique ampliamente tu codigo, pero veras que es facil de entender.

Un saludo,
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 04:16.