Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

listar resultado mysql con link en php

Estas en el tema de listar resultado mysql con link en php en el foro de Mysql en Foros del Web. Hola amigos, tengo una duda. Como podria hacer para listar una db con php y que por ejemplo el id o el campo nombre tenga ...
  #1 (permalink)  
Antiguo 13/01/2012, 08:33
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 11 meses
Puntos: 1
listar resultado mysql con link en php

Hola amigos, tengo una duda. Como podria hacer para listar una db con php y que por ejemplo el id o el campo nombre tenga un link que me lleve a informacion.php (donde este completa la info ejemplo id, nombre, apellido, telef....)
Muchas gracias.
  #2 (permalink)  
Antiguo 13/01/2012, 12:24
Avatar de James_Garciap  
Fecha de Ingreso: agosto-2011
Ubicación: Colombia
Mensajes: 5
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: listar resultado mysql con link en php

Hola Emanuel,

Vamos a suponer que tienes una tabla con la siguiente configuración:

Nombre de la tabla: empleados
*------*---------------------*---------------------*-------------*--------------------*---------------------*
| id | nombre | apellido | edad | telefono | direccion |
*================================================= =============*
| 1 | Diego | Perez | 21 | 1112233 | Calle 123 |
*------*---------------------*---------------------*-------------*--------------------*---------------------*
| 2 | Marco | Alvarez | 19 | 2221133 | Calle 234 |
*------*---------------------*---------------------*-------------*--------------------*---------------------*
| 3 | Edison | Garcia | 23 | 5550055 | Calle 12 |
*------*---------------------*---------------------*-------------*--------------------*---------------------*

Ahora en PHP quieres mostrar un listado con solo el ID, nombre y apellido, para que cuando alguien haga clic sobre consultar, te lleve a un archivo PHP donde se muestran los demás datos:

*-----conexion.php----*
Creas un archivo PHP con las siguientes Lineas:

Código PHP:
Ver original
  1. $conexion=mysql_connect("localhost","usuario","password");
  2. mysql_select_db("nombre_de_la_base_de_datos",$conexion);


*--------listar.php-----------*

Creas el archivo con el nombre listar.php, pones las etiquetas html que desees y todo lo demas y entre donde quieras mostrar el listado vas a encerrar el siguiente codigo entre las etiquetas <?php

?>

Código PHP:
Ver original
  1. include('conexion.php');
  2.  
  3.  $query="SELECT id, nombre, apellido FROM empleados ";
  4.  
  5.  $listar = mysql_query($query, $conexion) or die (mysql_error());
  6.  
  7.  $total = mysql_num_rows($listar);
  8.  
  9.  $nombre_columna=array( ' ', 'Id', 'Nombre', 'Apellido');  
  10.  
  11.  echo "<table'>";
  12.  
  13.     echo "<tr'>";
  14.     for($i=0;$i<=3;$i++)
  15.     {
  16.     echo "<td>".$nombre_columna[$i]."</td>";
  17.     }  
  18.     echo "</tr>";
  19.  
  20.  if ($total>0){
  21.          
  22.    while ($fila = mysql_fetch_assoc($listar)) {
  23.          
  24.     echo "<tr>";
  25.  
  26.    echo"<td><a href='informacion.php?id=".$fila['id']."'>Consultar</a></td>";
  27.    echo "<td>".$fila['id']."<br /></td>";
  28.    echo "<td>".$fila['nombre']."<br /></td>";
  29.    echo "<td>".$fila['apellido']."<br /></td>";
  30.    echo "</tr>";
  31.           }
  32.     }
  33.     echo "</table>";


*--------informacion.php-----------*

Lo mismo creas el archivo con el nombre informacion.php, pones las etiquetas html que desees y todo lo demas y entre donde quieras mostrar el listado vas a encerrar el siguiente codigo entre las etiquetas <?php

?>


Código PHP:
Ver original
  1. require("conexion.php");
  2.  
  3. $idreg = getParam($_GET["id"], "-1");
  4. $sql = "SELECT * FROM empleados WHERE id='$idreg'";
  5. $query = mysql_query($sql, $conexion);
  6. $info = mysql_fetch_assoc($query);
  7. $total = mysql_num_rows($info);
  8.  
  9. $nombre_columna=array( 'Id', 'Nombre', 'Apellido', 'Edad', 'Telefono', 'Direccion');  
  10.  
  11.  echo "<table'>";
  12.  
  13.     echo "<tr'>";
  14.     for($i=0;$i<=5;$i++)
  15.     {
  16.     echo "<td>".$nombre_columna[$i]."</td>";
  17.     }  
  18.     echo "</tr>";
  19.  
  20.  if ($total>0){
  21.          
  22.    while ($fila = mysql_fetch_assoc($info)) {
  23.          
  24.     echo "<tr>";
  25.     echo "<td>".$fila['id']."<br /></td>";
  26.    echo "<td>".$fila['nombre']."<br /></td>";
  27.    echo "<td>".$fila['apellido']."<br /></td>";
  28.    echo "<td>".$fila['edad']."<br /></td>";
  29.    echo "<td>".$fila['telefono']."<br /></td>";
  30.    echo "<td>".$fila['direccion']."<br /></td>";
  31.    echo "</tr>";
  32.           }
  33.     }
  34.     echo "</table>";


Espero te sea de utilidad y me comentas si te falla algo para solucionarlo.
  #3 (permalink)  
Antiguo 13/01/2012, 13:05
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: listar resultado mysql con link en php

Hola James_Garciap! Gracias por tu respuesta.
Eh probado el codigo (que por cierto tambien te lo agradezco!) pero no se si es que yo lo implemento mal o si falla algo pues me tira 2 errores.

1- Id EmpleadoNombreApellido
Notice: Undefined offset: 3 in C:\wamp\www\prueba\listar.php on line 17

Código PHP:
Ver original
  1. echo "<td>".$nombre_columna[$i]."</td>";

2-Fatal error: Call to undefined function getParam() in C:\wamp\www\pruebas\informacion.php on line 4

y en la linea 4 dice:

Código PHP:
Ver original
  1. $idreg = getParam($_GET["idempleado"], "-1");

(te paso la estructura de empleados por las dudass)
Campo
idempleado
nombre
apellido

GRACIASS! y DISCULPADDD! JEEE

Última edición por emanuel_9614; 13/01/2012 a las 13:27
  #4 (permalink)  
Antiguo 13/01/2012, 14:29
Avatar de James_Garciap  
Fecha de Ingreso: agosto-2011
Ubicación: Colombia
Mensajes: 5
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: listar resultado mysql con link en php

Hola Nuevamente Emanuel:

El ejercicio seria el que voy a pegar a continuación, tu mas adelante le puedes eliminar los campos de tabla y de consulta que no necesites.

1. Creas el archivo de conexion "conexion.php" que en mi caso fue asi.

Código PHP:
Ver original
  1. <?php
  2. $conexion=mysql_connect("localhost","root","testemanuel");
  3. mysql_select_db("foros",$conexion);
  4. ?>


2. Creas un archivo que se llame "funciones.php".

Código PHP:
Ver original
  1. <?php
  2. function getParam($param, $default) {
  3.     $result = $default;
  4.     if (isset($param)) {
  5.         $result = (get_magic_quotes_gpc()) ? $param : addslashes($param);
  6.     }
  7.     return $result;
  8. }
  9. ?>


3.Creas el archivo listar.php


Código PHP:
Ver original
  1. <!doctype html>
  2. <head>
  3.   <title>.::Cpanel</title>
  4.  
  5.   <style>
  6.       table{
  7.         border: 1px solid #282828;
  8.       }    
  9.       td{
  10.         border: 1px solid #282828;
  11.       }
  12.  
  13.   </style>
  14.  
  15. </head>
  16. <body>
  17.  
  18. <?php
  19.  
  20. include('conexion.php');
  21.  
  22.  $query="SELECT id, nombre, apellido FROM empleados ";
  23.  
  24.  $listar = mysql_query($query, $conexion) or die (mysql_error());
  25.  
  26.  $total = mysql_num_rows($listar);
  27.  
  28.  $nombre_columna=array( ' ', 'Id', 'Nombre', 'Apellido');  
  29.  
  30.     echo "<table>";
  31.  
  32.     echo "<tr>";
  33.     for($i=0;$i<=3;$i++)
  34.     {
  35.     echo "<td>".$nombre_columna[$i]."</td>";
  36.     }  
  37.     echo "</tr>";
  38.  
  39.  if ($total>0){
  40.          
  41.    while ($fila = mysql_fetch_assoc($listar)) {
  42.          
  43.     echo "<tr style='border: 1px solid;'>";
  44.  
  45.    echo"<td><a href='informacion.php?id=".$fila['id']."'>Consultar</a></td>";
  46.    echo "<td>".$fila['id']."<br /></td>";
  47.    echo "<td>".$fila['nombre']."<br /></td>";
  48.    echo "<td>".$fila['apellido']."<br /></td>";
  49.    echo "</tr>";
  50.           }
  51.     }
  52.     echo "</table>";
  53. ?>
  54.  
  55. </body>
  56. </html>

4. Creas el archivo "informacion.php" asi:

Código PHP:
Ver original
  1. <!doctype html>
  2. <head>
  3.   <title>.::Cpanel</title>
  4.  
  5.   <style>
  6.       table{
  7.         border: 1px solid #282828;
  8.       }    
  9.       td{
  10.         border: 1px solid #282828;
  11.       }
  12.  
  13.   </style>
  14.  
  15. </head>
  16. <body>
  17.  
  18. <?php
  19. require("conexion.php");
  20. require("funciones.php");
  21.  
  22. $idreg = getParam($_GET["id"], "-1");
  23. $sql = "SELECT * FROM empleados WHERE id='$idreg'";
  24. $queIng = mysql_query($sql, $conexion);
  25. $rsIng = mysql_fetch_assoc($queIng);
  26.  
  27. $nombre_columna=array( 'Id', 'Nombre', 'Apellido', 'Edad', 'Telefono', 'Direccion');  
  28.  
  29.  echo "<table>";
  30.  
  31.     echo "<tr'>";
  32.     for($i=0;$i<=5;$i++)
  33.     {
  34.     echo "<td>".$nombre_columna[$i]."</td>";
  35.     }  
  36.     echo "</tr>";
  37.  
  38.          
  39.    echo "<tr>";
  40.    echo "<td>".$rsIng['id']."</td>";
  41.    echo "<td>".$rsIng['nombre']."</td>";
  42.    echo "<td>".$rsIng['apellido']."</td>";
  43.    echo "<td>".$rsIng['edad']."</td>";
  44.    echo "<td>".$rsIng['telefono']."</td>";
  45.    echo "<td>".$rsIng['direccion']."</td>";
  46.    echo "</tr>";
  47.  
  48.     echo "</table>";
  49.  
  50. ?>
  51.  
  52. </body>
  53. </html>
  #5 (permalink)  
Antiguo 13/01/2012, 14:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: listar resultado mysql con link en php

Sin pretender ofender ni molestar a nadie, les recuerdo que el Foro de Bases de Datos tiene como regla no tratar temas de programación, ni postear código de programación de ningún lenguaje.
Para tratar los temas específicos de cómo programar los acceso a la base, están los foros respectivos de cada lenguaje (PHP, en este caso), mientras que en este el tema es MySQL, SQL y Bases de Datos.
El que pongan código de PHP hace que quienes no lo manejan (no es el único lenguaje con que se puede usar MySQL), no solamente no puedan participar, sino que tampoco se entiende la discusión.

Saludos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 13/01/2012, 15:03
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 12 años, 11 meses
Puntos: 1
Respuesta: listar resultado mysql con link en php

Hola gnzsoloyo, gracias por avisarme que publique en la seccion incorrecta el tema. Te agradeceria si tu sabes como moverlo para php.
James_Garciap Muchas gracias me sirviooo! lo unico que en informacion.php me salta:

Notice: Undefined offset: 3 in C:\wamp\www\pruebas\php\informacion.php on line 36

Código PHP:
Ver original
  1. echo "<td>".$nombre_columna[$i]."</td>";
Osea fuunciona perfecto pero solo salta ese error. Jee Muchas gracias!
(si encuentras solucion a ese error pasamelo! ;) )
  #7 (permalink)  
Antiguo 13/01/2012, 16:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: listar resultado mysql con link en php

Yo ya avisé para que lo pasen. Veremos si lo hacen.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: link, listarresultados, mysql+php
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 08:55.