Buscador


En todo Internet
En Uterra.Com

Contenidos


Te habrás fijado muchas veces en esas páginas que te muestran, por ejemplo un listado de artículos, donde aparece un enlace que dice algo así como: “Ver detalle del artículo”. Pues bien. Ahora te vamos a mostrar como hacer esto.

Esta sencilla pero fundamental aplicación consiste básicamente en tener un listado con los artículos y un enlace para ver toda la información sobre ese artículo.

Ya hemos visto dos formas de leer una base de datos, una sin paginación y otra con paginación, dado que la primera es la más sencilla, emplearemos esta para ejemplificar este caso.

Los primero que tenemos que hacer es crear el enlace que pasa una variable a la página que muestra la información completa de ese registro. Para eso tenemos que usar una variable que sea única, es decir, que su valor no este repetido en ningún registro. En nuestro caso tomaremos el “id” que es la clave primaria de nuestra tabla, y por tanto no puede estar repetida. Si tomásemos una variable que tuviera valores repetidos mostraría uno de ellos, y solo uno, por lo que habría un registro del que no podríamos ver toda la información nunca.

Lo segundo que tenemos que hacer es crear una consulta que nos de, en función de la variable que hemos pasado por la URL (el id en nuestro caso), los datos que queremos mostrar.

El enlace tendría la siguiente forma:

<a href=ficha.php?ref=".$registro['id']." title='Ver la ficha completa'>Mas informacón</a>

con esto, el código fuente de cada una de las páginas serian los siguientes:

 

======== listado.php

<html>  
<head>  
<TITLE>Muestra los resultados de una consulta MySQL quepresenta un enlace para ver la información ampliada.</TITLE>  
<META name='robot' content='noindex, nofollow'>
</head>  

<body>  
<div align='center'>  
  <table border='1' cellpadding='0' cellspacing='0' width='600' bgcolor='#F6F6F6' bordercolor='#FFFFFF'> 
     <tr>   
      <td width='300' style='font-weight: bold'>NOMBRE</td>   
      <td width='300' style='font-weight: bold'></td>  
    </tr>  
<?php  
include('abre_conexion.php');  

// Dado que esto es solo una demo he limitado los resultados que se mostraran a 20

    
$query "select * from $tabla_db1 ORDER BY id DESC LIMIT 20";     // Esta linea hace la consulta 
    
$result mysql_query($query);  

    while (
$registro mysql_fetch_array($result)){  
echo 
"  
    <tr>  
      <td width='300'>"
.$registro['nombre']."</td>
      <td width='300'><a href=ficha.php?ref="
.$registro['id']." title='Ver la ficha completa'>Más información</a></td>  

    </tr>  
"
;  
}  
include(
'cierra_conexion.php');  
?>  
   </table>  
</div>  
</body>  

</html>

======== ficha.php

<html>  
<head>  
<TITLE>Muestra la ficha completa de un resgistro.</TITLE>  
<META name='robot' content='noindex, nofollow'>
</head>  

<body>  
<div align='center'>  
  <table border='1' cellpadding='0' cellspacing='0' width='600' bgcolor='#F6F6F6' bordercolor='#FFFFFF'> 
     <tr>  
      <td width='150' style='font-weight: bold'>ID</td>  
      <td width='150' style='font-weight: bold'>NOMBRE</td>  
      <td width='150' style='font-weight: bold'>E-MAIL.</td>  
      <td width='150' style='font-weight: bold'>FECHA</td> 
    </tr>  

<?php 

$id 
$_GET['ref'];

include(
'abre_conexion.php');  

    
$query "select * from $tabla_db1 where id = '$id'";
    
$result mysql_query($query);

while (
$registro mysql_fetch_array($result)){

echo 
"
      <td width='150'>
$id</td>  
      <td width='150'>"
.$registro['nombre']."</td>  
      <td width='150'>"
.$registro['email']."</td>  
      <td width='150'>"
.$registro['fecha']."</td>  
"
;
}
include(
'cierra_conexion.php');  
?>  
   </table>  
</div>  
</body>  

</html>