Foros del Web » Programando para Internet » PHP »

Ordenar resultados de consulta MySql con PHP

Estas en el tema de Ordenar resultados de consulta MySql con PHP en el foro de PHP en Foros del Web. Buenas noches, Estoy trabajando en un proyecto en el cual necesito que se muestren los datos de una tabla MySQL pero que el usuario los ...
  #1 (permalink)  
Antiguo 20/10/2020, 22:44
Avatar de javier0730  
Fecha de Ingreso: enero-2010
Ubicación: Jalisco
Mensajes: 82
Antigüedad: 14 años, 3 meses
Puntos: 8
Ordenar resultados de consulta MySql con PHP

Buenas noches,

Estoy trabajando en un proyecto en el cual necesito que se muestren los datos de una tabla MySQL pero que el usuario los ordene por prioridad y que se guarden en la base de datos al gusto del usuario.

Por ejemplo, supongamos que mi tabla se llama colores y que contiene dos columnas una llamada prioridad y otra llamada color. de momento con estos datos

Prioridad | Color
1 Blanco
2 Negro
3 Azul

Para mostrar los datos en mi archivo PHP lo hago así:

Código PHP:
Ver original
  1. include("conexion.php");
  2.  
  3. $con = "SELECT * FROM colores ORDER BY prioridad ASC";
  4. if($ro1 = $conexion->query($con))
  5. {
  6.     ?>
  7.     <caption><b>Lista de colores.</b> <br /> <br /> <br /> </caption>
  8.    
  9.     <table aling="center" border="0" bordercolor="#1D274D" cellpadding=".5" cellspacing="1" width="400">
  10.       <tr bgcolor="#1D274D" align="center">
  11.         <td width="100"><font color="#FFFFFF"> <strong>Prioridad</strong> </font><br /></td>
  12.         <td width="300"><font color="#FFFFFF"> <strong>Color</strong> </font><br /></td>
  13.       </tr>
  14.      
  15.       <?php
  16.       while($ro = $ro1->fetch_assoc())
  17.       {
  18.           ?>
  19.           <tr>
  20.             <td align="center"> <?php echo $ro['prioridad']; ?> </td>
  21.             <td align="center"> <?php echo $ro['color']; ?> </td>
  22.           </tr>
  23.           <?php
  24.       }
  25.       ?>
  26.     </table>
  27.     <?php
  28. }

Deseo que el usuario pueda modificar el orden de los elementos y que este orden se guarde en la base de datos, originalmente se muestra como Blanco, Negro, Azul y supongamos que el usuario los ordeno como Azúl, Blanco, Negro.

Entonces en la tabla de colores mi registro 1 ahora deberá tener almacenado el valor Azúl, el registro 2 contendria Blanco y el registro 3 contendria Negro.

Me gustaría que el usuario pudiera mover el orden con el mouse, dando clic y arrastrando el elemento a la posición deseada, o si no pues colocando algunas flechas en una tercera columna que diga Subir, Bajar.

Me ayudan por favor.
Muchas gracias.
  #2 (permalink)  
Antiguo 23/10/2020, 16:58
 
Fecha de Ingreso: diciembre-2012
Mensajes: 14
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Ordenar resultados de consulta MySql con PHP

Lo único que se me ocurre es un update con los nuevos datos.
  #3 (permalink)  
Antiguo 24/10/2020, 10:49
 
Fecha de Ingreso: junio-2012
Ubicación: En el Mundo
Mensajes: 759
Antigüedad: 11 años, 10 meses
Puntos: 10
Respuesta: Ordenar resultados de consulta MySql con PHP

tienes que hacer una consulta asi

Código PHP:
Ver original
  1. include("conexion.php");
  2.      
  3.     $con = "SELECT * FROM colores ORDER BY color";
  4.     if($ro1 = $conexion->query($con))
  5.     {
  6.         ?>
  7.         <caption><b>Lista de colores.</b> <br /> <br /> <br /> </caption>
  8.        
  9.         <table aling="center" border="0" bordercolor="#1D274D" cellpadding=".5" cellspacing="1" width="400">
  10.           <tr bgcolor="#1D274D" align="center">
  11.             <td width="100"><font color="#FFFFFF"> <strong>Prioridad</strong> </font><br /></td>
  12.             <td width="300"><font color="#FFFFFF"> <strong>Color</strong> </font><br /></td>
  13.           </tr>
  14.          
  15.           <?php
  16.           while($ro = $ro1->fetch_assoc())
  17.           {
  18.               ?>
  19.               <tr>
  20.                 <td align="center"> <?php echo $ro['prioridad']; ?> </td>
  21.                 <td align="center"> <?php echo $ro['color']; ?> </td>
  22.               </tr>
  23.               <?php
  24.           }
  25.           ?>
  26.         </table>
  27.         <?php
  28.     }

no se es lo que queires hacer ordenar por letra de los colores si no esplicate un poco mejor

Última edición por xoceunder; 24/10/2020 a las 10:54
  #4 (permalink)  
Antiguo 24/10/2020, 12:49
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: Ordenar resultados de consulta MySql con PHP

Y si trabajas con JQuery? con unos selects podrias hacerlo... que todos se reinicien a 0 cuando quiera modificarlos y haga comprobaciones, 1, 2 ,3 digamos... si se repite el 1, da error y asi... hasta que ninguno se repita y tenga el orden deseado
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)

Etiquetas: dato, mysql, resultados
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 15:16.