elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  ordenar tabla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ordenar tabla  (Leído 3,495 veces)
sheiking

Desconectado Desconectado

Mensajes: 10


Ver Perfil
ordenar tabla
« en: 2 Marzo 2019, 02:08 am »

hola que tal tengo una pequeña duda tengo una base de datos y en el programa hago que se muestre la tabla pero me gustaria añadirle un boton para ordenarlo segun id, genero y usuario pero la verdad no se como hacerlo llevo buscando soluciones y no se me ocurre nada :c aqui les adjunto el codigo
Código
  1.  
  2. <?php
  3.  
  4. $conexion=mysqli_connect('localhost','root','','actividad 7');
  5.  
  6. ?>
  7.  
  8.  
  9. <!DOCTYPE html>
  10. <html>
  11. <head>
  12. <title>mostrar datos</title>
  13. </head>
  14. <body>
  15.  
  16. <br>
  17.  
  18. <table border="1" >
  19. <tr>
  20. <td>id</td>
  21. <td>genero</td>
  22. <td>nombre</td>
  23. <td>color</td>
  24. <td>comida</td>
  25. </tr>
  26.  
  27. <?php
  28. $sql="SELECT * from personas";
  29. $result=mysqli_query($conexion,$sql);
  30.  
  31. while($mostrar=mysqli_fetch_array($result)){
  32. ?>
  33.  
  34. <tr>
  35. <td><?php echo $mostrar['id'] ?></td>
  36. <td><?php echo $mostrar['genero'] ?></td>
  37. <td><?php echo $mostrar['nombre'] ?></td>
  38. <td><?php echo $mostrar['color'] ?></td>
  39. <td><?php echo $mostrar['comida'] ?></td>
  40. </tr>
  41. <?php
  42. }
  43. ?>
  44.                <?php
  45.  
  46.  
  47.                ?>
  48. </table>
  49.  
  50. </body>
  51. </html>
  52.  


En línea

srWhiteSkull


Desconectado Desconectado

Mensajes: 444



Ver Perfil WWW
Re: ordenar tabla
« Respuesta #1 en: 7 Marzo 2019, 00:01 am »

Con Ajax quedaría bien pero en vista de tus pobres conocimientos te recomiendo que lo hagas en plan fácil, pon en la cabecera de la tabla, en la cual usas tr en vez th, a cada campo del título pones un vínculo, etiqueta HTML a, y el vínculo que apunte a la página Php que muestras pero le pasas un parámetro por ejemplo así :

Código
  1. ...
  2. <th><a href="https://mipagina/tabla?ordenar=id">Id</a></th>
  3. <th><a href="https://mipagina/tabla?ordenar=nombre">Nombre</a></th>
  4. <th><a href="https://mipagina/tabla?ordenar=genero">Género</a></th>
  5. ...

y luego en Php lo despachas con una consulta MySQL en base al parámetro.

https://www.w3schools.com/php/php_superglobals.asp


En línea

mchojrin

Desconectado Desconectado

Mensajes: 47



Ver Perfil WWW
Re: ordenar tabla
« Respuesta #2 en: 21 Abril 2019, 00:07 am »

Lo que necesitas es agregar al final de tu SQL una cláusula de ordenamiento.

En lugar de:

Código:
$sql="SELECT * from personas";

Algo como:

Código:
$sql="SELECT * from personas ORDER BY nombre";

Combinando con la respuesta de @srWhitSkull lo que harías sería algo como:

Código:
$orden = in_array( $_GET['ordenar'], [ 'id', 'nombre', 'genero' ] ) ? $_GET['ordenar'] : 'id'; // Por seguridad

$sql="SELECT * from personas ORDER BY $orden";

Saludos
En línea

¿Docker te trae de cabeza? https://mautic.leewayweb.com/docker-101
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines