Ordenar registros de una tabla con PHP y Ajax

Ordenar por columnaEn esta oportunidad realizaremos una pequeña aplicación que consistirá en ordenar los valores de una consulta de datos (MySQL) mediante hacer clic en el encabezado de la columna. Lo que vamos hacer es relativamente sencillo. Veamos.
Quizá te interese: CRUD, insertar, consultar, actualizar y eliminar, con PHP + MySQL + jQuery

Una idea general

Tenemos una tabla con n registros, realizamos la consulta y mediante un script en PHP nos muestra los datos en una página web. Ahora queremos agregarle funcionalidad mediante Ajax. Queremos ordenar los datos obtenidos mediante hacer clic en encabezado de cada columna. Nota: Hay que tener en cuenta que si haces clic en el encabezado de la columna, y ésta ya está ordenada descendentemente, entonces lo lógico es que sea ordenada ascendetemente, y viceversa.
[Ver Ejemplo]

Empezemos

Trabajaremos con una tabla que contiene datos de empleados como su nombre, area donde trabaja y sueldo. [Ver tabla]
Realizaremos un script que tenga los datos de la conexión a nuestra base de datos MySQL. (Estos valores deberás cambiarlos si deseas probar el ejemplo en tu servidor local)

conexion.php

<?php
 //Configuracion de la conexion a base de datos
 $bd_host = "localhost";
 $bd_usuario = "root";
 $bd_password = "mipassword";
 $bd_base = "ribosomatic";
 $con = mysql_connect($bd_host, $bd_usuario, $bd_password);
 mysql_select_db($bd_base, $con);
?>

Creamos un archivo Javascript que contendrá dos funciones: 1) una función para crear el objeto XMLHttpRequest independientemente del navegador que uses y 2) una función que recibirá dos parametros: el campo por el cual ordenaremos la consulta SQL y el orden (ASC o DESC) . Veamos a detalle este archivo.

ajax.js

function Ajax(){
 var xmlhttp=false;
 try{
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 }catch(e){
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  }catch(E){
    xmlhttp = false;
  }
 }
 if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
 }
 return xmlhttp;
}
function OrdenarPor(campo, orden){
 //especificamos el div donde se mostrará el resultado
 divListado = document.getElementById('listado');
 ajax=Ajax();
 //especificamos el archivo que realizará el listado
 //y enviamos las dos variables: campo y orden
 ajax.open("GET", "listado.php?campo="+campo+"&orden="+orden);
 ajax.onreadystatechange=function() {
  if (ajax.readyState==4) {
   divListado.innerHTML = ajax.responseText
  }
 }
 ajax.send(null)
}

Ahora, el archivo que contiene el proceso principal de esta aplicación. ¿Qué es lo que hace este archivo? Los procesos principales son (aunque el código tiene comentarios para cada línea) :

  • Verifica que las variables campo y orden recibidas mediante el método GET tenga valores, caso contrario tendrá otros valores por defecto.
  • Construimos la consulta. Tendrá esta forma: “SELECT * FROM empleado ORDER BY $campo $orden“;
  • Ahora creamos dos arrays: $campos, para los nombres de las columnas de la tabla Empleados y $cabeceras, para los encabezados.
  • Hacemos un bucle para recorrer todos los elementos del array $campos y luego comparamos si el elemento del array coincide con la variable campo, si es así comparamos si la variable orden es ASC o DESC de esta forma determinamos el orden de la columna para una siguiente ocasión. Finalmente lo que hace el bucle es crear una fila con los nombres de las columnas y darle color a la columna que está ordenada.
  • Creamos una función para darle color al resto de la columna que coincida con el campo actual.
  • Finalmente, otro bucle para mostrar los datos de la consulta (punto 2).

listado.php

<?php
 //datos de la conexion a la base de datos
 require('conexion.php');
 //obtenemos valores que envió la funcion en
 //Javascript mediante el metodo GET
 if(isset($_GET['campo']) and isset($_GET['orden'])){
  $campo=$_GET['campo'];
  $orden=$_GET['orden'];
 }else{
  //por defecto
  $campo='nombres';
  $orden='ASC';
 }
 //realizamos la consulta de los empleados,
 //ordenandolos segun campo y asc o desc
 //ej. SELECT * FROM empleado ORDER BY nombres ASC
 $Consulta=mysql_query("SELECT * FROM empleado ORDER BY $campo $orden",$con);
?>
<table cellspacing="0" cellpading="0">
<tr class="encabezado">
<?php
 //definimos dos arrays uno para los nombre de los campos de la tabla y
 //para los nombres que mostraremos en vez de los de la tabla -encabezados
 $campos="nombres,departamento,sueldo";
 $cabecera="Nombre Empleado,Departamento / Area,Remuneracion";
 //los separamos mediante coma
 $cabecera=explode(",",$cabecera);
 $campos=explode(",",$campos);
 //numero de elementos en el primer array
 $nroItemsArray=count($campos);
 //iniciamos variable i=0
 $i=0;
 //mediante un bucle crearemos las columnas
 while($i<=$nroItemsArray-1){
  //comparamos: si la columna campo es igual al elemento
  //actual del array
  if($campos[$i]==$campo){
   //comparamos: si esta Descendente cambiamos a Ascendente
   //y viceversa
   if($orden=="DESC"){
    $orden="ASC";
    $flecha="arrow_down.gif";
   }else{
    $orden="DESC";
    $flecha="arrow_up.gif";
   }
   //si coinciden campo con el elemento del array
   //la cabecera tendrá un color distinto
   echo "	<td class=\"encabezado_selec\"><a onclick=\"OrdenarPor('".$campos[$i]."','".$orden."')\"><img src=\"".$flecha."\" />".$cabecera[$i]."</a></td> \n";
  }else{
   //caso contrario la columna no tendra color
   echo "	<td><a onclick=\"OrdenarPor('".$campos[$i]."','DESC')\">".$cabecera[$i]."</a></td> \n";
  }
  $i++;
 }
?>
</tr>
<?php
 //esta funcion permite comparar el campo actual y el nombre de
 //la columna en la base de datos
 function estiloCampo($_campo,$_columna){
  if($_campo==$_columna){
   return " class=\"filas_selec\"";
  }else{
   return "";
  }
 }
 //mostramos los resultados mediante la consulta de arriba
 while($MostrarFila=mysql_fetch_array($Consulta)){
  echo "<tr> \n";
  echo "	<td".estiloCampo($campo,'nombres').">".$MostrarFila['nombres']."</td> \n";
  echo "	<td".estiloCampo($campo,'departamento').">".$MostrarFila['departamento']."</td> \n";
  echo "	<td".estiloCampo($campo,'sueldo').">".$MostrarFila['sueldo']."</td> \n";
  echo "</tr> \n";
 }
?>
</table>

Finalmente, el archivo index.php contendrá un etiqueta <div> cuyo atributo id será ‘listado’. Dentro de ésta haremos un include del archivo listado.php.

index.php

<html>
<head>
 <title>Ordenar por Columnas</title>
 <script type="text/javascript" src="ajax.js"></script>
 <link href="estilos.css" rel="stylesheet" type="text/css"></link>
</head>
<body>
 <h1 align="center">Ordenar registros de una tabla con Ajax y PHP </h1>
 <div id="listado">
  <?php include('listado.php')?>
 </div>
</body>
</html>

Este ejemplo cuenta también con una hoja de estilos para darle color a las columnas y columnas seleccionadas. [Ver Hoja de Estilos]
[Ver Ejemplo] [Descargar]
De esta forma podemos ordenar los datos de una consulta SQL. Mas adelante combinaremos la paginación de datos y el ordenado por columna.

48 thoughts on “Ordenar registros de una tabla con PHP y Ajax

  1. Es interesante, esperaremos a la combinación de paginacion y ordenamiento de registros. Saludos.

  2. Buena forma de documentar ajax y php, quisiera saber como envio multiples checkbox via ajax para poder hacer multiples actualizaciones con php y mysql, tengo el sigiente codigo guardado en el archivo check.php

    var http_request = false;
    function makeRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,…
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
    // set type accordingly to anticipated content type
    //http_request.overrideMimeType(‘text/xml’);
    http_request.overrideMimeType(‘text/html’);
    }
    } else if (window.ActiveXObject) { // IE
    try {
    http_request = new ActiveXObject(“Msxml2.XMLHTTP”);
    } catch (e) {
    try {
    http_request = new ActiveXObject(“Microsoft.XMLHTTP”);
    } catch (e) {}
    }
    }
    if (!http_request) {
    alert(‘Cannot create XMLHTTP instance’);
    return false;
    }
    http_request.onreadystatechange = alertContents;
    http_request.open(‘GET’, url parameters, true);
    http_request.send(null);
    }
    function alertContents() {
    if (http_request.readyState == 4) {
    if (http_request.status == 200) {
    //alert(http_request.responseText);
    result = http_request.responseText;
    document.getElementById(‘myspan’).innerHTML = result;
    } else {
    alert(‘There was a problem with the request.’);
    }
    }
    }
    function get(obj) {
    var getstr = “?”;
    for (i=0; i<obj.childNodes.length; i ) {
    if (obj.childNodes[i].tagName == "INPUT") {
    if (obj.childNodes[i].type == "checkbox") {
    if (obj.childNodes[i].checked) {
    getstr = obj.childNodes[i].name "=" obj.childNodes[i].value "

  3. ….No salio completo esto es lo que sigue….
    function get(obj) {
    var getstr = “?”;
    for (i=0; i<obj.childNodes.length; i ) {
    if (obj.childNodes[i].tagName == "INPUT") {
    if (obj.childNodes[i].type == "checkbox") {
    if (obj.childNodes[i].checked) {
    getstr = obj.childNodes[i].name "=" obj.childNodes[i].value "

  4. Hola dany, creo que tengo que arreglar este sistema de comentarios. Por otra parte es excelente lo que propones, quizas haga un ejemplo de actualización o eliminacion multiple. Voy a intentarlo y te aviso. Saludos.

  5. Bueno ya solucione el problema , el printr($_GET) me muestra el contenido del array GET, pero si lo que quiero es extraer por variable lo mas obvio era $_GET[campos] y lo recorro con un for; no se en que estaba pensando.
    Donde campos[] es el nombre del array que continene los checkbox

    Mi pregunta ahora es es este metodo mas practico el de la pagina claro esta ‘http://www.captain.at/howto-ajax-form-post-get.php
    ‘ o sigo utilizando javascript creando tantas varaibles como hay en el formulario.
    Y como seria por el metodo POST
    Gracias

  6. Amigos quien me pude sacar de la siguiente duda estoy aplicando ajax en todas mis aplicaciones, pero si desabilito resgister global no funcionan como envio variables via ajax estando register global desabilitado?
    Gracias

  7. Amigos quien me pude sacar de la siguiente duda estoy aplicando ajax en todas mis aplicaciones, pero si desabilito resgister global no funcionan como envio variables via ajax estando register global desabilitado?

  8. He realizado todos los pasos descargandome los archivos. Y me da el siguiente mensaje:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:Archivos de programaEasyPHP 2.0b1wwwcolumnaslistado.php on line 76
    Es decir:
    while($MostrarFila=mysql_fetch_array($Consulta)){
    He probado varias cosas pero no encuentro lo que puede ser, estoy trabajando en localhost.

  9. Gracias Jesus, pero he cogido los archivos tal cual están en descarga y no les he realizado ninguna modificación, he probado en mi server por si era algo del local y tiene el mismo fallo.
    Por eso te pedía ayuda ya que es muy raro que sin hacer cambios no me funcione., Simplemente he descargado los archivos, he creado la base de datos y ya debería de funcionar.

  10. Alfredo ese error por lo general esta relacionado con una consulta mal formada, si dices que esta tal como lo descargastes, entonces verificar los datos de conexion al servidor mysql. espero halles la causa del problema. Saludos

  11. Buena maestro, fantastico, buenazo el ejemplo, desde hace algun tiempo buscaba entender ajax y lo logre.
    El ejemplo es bien sencillo y lo mejor es que es entendible, por que otros se complican tanto con ejemplos tan enredados que laman a 20 funciones, 30 variables, que instalas un framework, librerias, etc.
    gracias nuevamente , maestro!!!!!

  12. LEs ayudo. A los que le sale el error “Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:Archivos de programaEasyPHP 2.0b1wwwcolumnaslistado.php on line 76”
    significa que la version de php es menos de 4.1, actualicen el php!!

  13. Hola he aqui mi me da este error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:wampwwwdjservicesdblistado.php on line 76,
    pero solo cuando le doy a la segunda columna en la primera no.

  14. me aparecía el mismo error que mencionan:
    “Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Archivos de programa\EasyPHP 2.0b1\www\columnas\listado.php on line 76”
    El problema era que la consulta retorna un valor falso porque no esta bien, yo había cambiado los campos por los de una tabla que yo tenía pero no había cambiado los de el else de la línea 12 como lo pongo:
    else{
    //por defecto
    $campo=’strnombre’;
    $orden=’ASC’;
    }

  15. Fantastico tutorial y ejemplo. Es el mejor que he encontrado. Felicitaciones.
    Ahora tengo una preguntilla: Como se hace si quiero pasarle parametros a la query? Por ejemplo, tengo dos cuadros de texto para pedir fecha inicial y fecha final.
    El problema es que el archivo index se abre y muestra los datos de una vez. Si digito manualmente los datos en la query, si funciona. Pero yo quiero que el usuario seleccione las fechas y luego si ejecute la query y haga el resto del proceso normal.
    Gracias!!
    Henry

  16. hola, tengo problemas con las tildes.. alguien sabe como solucinarlo con este ejemplo..
    mire por ahi que añadiendo en el php que hace la consulta este codigo <?php header('Content-Type: text/xml; charset=ISO-8859-1');
    echo '’;
    ?>
    funciona pero me sale un error al cargarlo por primera vez Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\ejemplo\index.php:6) in C:\AppServ\ejemplo\listado.php on line 1
    luego de dar click en ordenar funcionan las tildes pero no sirve la primera vez.. cualquier ayuda gracias.. saludos

  17. solucionado al archivo .php que hace la consulta le agregue
    <?header('Content-Type: text/xml; charset=ISO-8859-1');
    echo '’;?>
    para reparar el error inicial se añade una @
    <? @header('Content-Type: text/xml; charset=ISO-8859-1');
    echo '’;?>
    no se por que o cual es la razon para la @ pero funciona.. saludos

  18. Para mmont
    El problema de tildes es por el tipo de codificacion charset que trae el archivo index.php
    Trata cambiando en la linea Nº4 el charset:

    por éste otro:

    Espero te sirva

  19. Esta muy bien el ejemplo..muchas gracias!!!
    a mi me salio tambien el error pero es solucionable nombrando bien los campos a ordenar…

  20. Muy buenas gente! Enhorabuena por el mini-tutorial porque es genial, es mejor que he encontrado sin lugar a dudas, y te aseguro que he buscado mucho.
    Ahora te planteo mi problemilla. El caso es que yo lo utilizo para una consulta de 9 elementos. Es decir, mi tabla tiene 9 columnas. Funciona a la perfección excepto: Si pincho en la 1ª, 2ª, 5ª y 9ª columna, no hay problema alguno, sin embargo, si pincho en el resto (3ª, 4ª, 6ª, 7ª y 8ª), solo me carga una tabla con 4 campos (que siempre son los mismos). Si vuelvo a pinchar en alguna de las columnas citadas en primer lugar (1,2,5 o 9), se me vuelve a mostrar la tabla con sus 9 columnas.
    ¿Alguien me puede ayudar? Le estaría muuuy agradecido.
    Gracias por anticipado. Un saludo

  21. trate de hacer esto en php. Como hago para que me ordene por campo la pagina 2.php?

    ‘;
    echo ‘


    ;
    echo ‘


    ;
    echo ‘


    ;
    echo ‘


    ;
    echo ‘


    ;
    echo’

    ‘;
    }
    ?>

    <?php
    mysql_connect('localhost','root','');
    mysql_select_db('genial');
    $resultado=mysql_query('select * from usuarios ');
    while($fila=mysql_fetch_array($resultado)){
    $i=$fila['codigo'];
    echo '

    ‘.$fila[‘codigo’].’ ‘.$fila[‘Nombre’].’ ‘.$fila[‘Apellido’].’ ‘.$fila[‘Edad’].’ ‘.$fila[‘Correo’].’
  22. el SQL es lo mismo que sale en este ejemplo. no se si es de MSoft. pero el mismo ejemplo lo deseo hacer en PHP y MySQL.Trate de hacer esto pero no me resulto. esta es la pagina ordenar.php que hice a la que estaba antes. SE LOS agradeceria saber como lo puedo hacer. no manejo AJAX. Gracias. esto es:
    <?php
    $o=$_POST['opc'];
    mysql_connect('localhost','root','');
    mysql_select_db('genial');
    mysql_query("SELECT * FROM usuarios order by $p");
    header("Location: Consulta.php");
    while($fila=mysql_fetch_array($resultado)){
    $i=$fila['codigo'];
    echo '

    ‘;
    echo ‘

    ‘.$fila[‘codigo’].’


    ;
    echo ‘

    ‘.$fila[‘Nombre’].’


    ;
    echo ‘

    ‘.$fila[‘Apellido’].’


    ;
    echo ‘

    ‘.$fila[‘Edad’].’


    ;
    echo ‘

    ‘.$fila[‘Correo’].’


    ;
    // echo”;
    // echo’

    ‘;
    // echo”;
    // echo’ ‘;
    echo’

    ‘;
    }
    ?>

  23. Yo tambien desearía saber como lo puedo hacer con PHP y MySQL. sin utilizar ajax. es lo que andaba buscando pero PHP y MySQL.
    pensaba que los encabezados podrian ser botones y que al presionarlos me ordenara por el campo que escogi. el asunto es como almaceno esas variables y despues le digo al MySQL por medio de PHP “select order by columna_2”. despues si presiono el encabezado de la columna 5 (por ejemplo) me lo ordene por esa columna. es le mismo ejemplo pero sin Ajax. GRACIAS POR LA PACIENCIA.

  24. No es SQL de Microsoft SE REFIEREN a mySQL. el asunto es que NO se utilice javascript. solo PHP y MySQL.
    TAMBIEN SE LOS AGRADECERÍA

  25. Yo trate de hacer esto pero no me funciona. 3 archivos:
    archivo 1 – formulario.php

    Documento sin título

    NOMBRE
    EMAIL

    ***********************
    archivo 2 – Consulta2.php

    ‘;
    echo ‘


    ;
    echo ‘


    ;
    echo ‘


    ;
    echo’

    ‘;
    }
    ?>

    CODIGO NOMBRE EMAIL
    <?php
    mysql_connect('localhost','root','');
    mysql_select_db('caricaturas');
    $resultado=mysql_query('select * from tabla');
    while($fila=mysql_fetch_array($resultado)){
    $i=$fila['id'];
    echo '

    ‘.$fila[‘id’].’ ‘.$fila[‘nombre’].’ ‘.$fila[’email’].’

    Volver

    *********************************
    y archio 3 – orden.php
    <?php
    if($_GET['orden']='id'){
    $resultado=mysql_query('select * from tabla order by id');
    while($fila=mysql_fetch_array($resultado)){
    $i=$fila['id'];
    echo '

    ‘;
    echo ‘

    ‘.$fila[‘id’].’


    ;
    echo ‘

    ‘.$fila[‘nombre’].’


    ;
    echo ‘

    ‘.$fila[’email’].’


    ;
    echo’

    ‘;
    }
    ?>

    Volver

    <?php
    if($_GET['orden']='nombre'){
    $resultado=mysql_query('select * from tabla order by nombre');
    while($fila=mysql_fetch_array($resultado)){
    $i=$fila['id'];
    echo '

    ‘;
    echo ‘

    ‘.$fila[‘id’].’


    ;
    echo ‘

    ‘.$fila[‘nombre’].’


    ;
    echo ‘

    ‘.$fila[’email’].’


    ;
    echo’

    ‘;
    }
    ?>

    Volver

    <?php
    if($_GET['orden']='email'){
    $resultado=mysql_query('select * from tabla order by email');
    while($fila=mysql_fetch_array($resultado)){
    $i=$fila['id'];
    echo '


    ;
    echo ‘

    ‘.$fila[‘id’].’


    ;
    echo ‘

    ‘.$fila[‘nombre’].’


    ;
    echo ‘

    ‘.$fila[’email’].’


    ;
    echo’


    ;
    }
    ?>

  26. Hola, se que ya es algo viejo este post pero… a final d ela pagina dice que combinarias este script con la paginacion que es lo que justamente estoy buscando, desconosco si la creaste, podrias darme el link?, saludos

  27. HOLA QUE TAL ES UN EXELENTE TUTORIAL PERO TENGO UNA PREGUNTA COMO SE ARIA PARA AGREGAR 2 COLUMNAS MAS Y QUE PERMITA EDITAR,ELIMINAR. ……. DE ENTEMANO AGRADESCO SU PRONTA RESPUESTA….

  28. tiene un error,
    no hace paginacion ordenada
    si estoy en otro campo..
    pero igual bien el ejemplo.
    saludos

  29. Hola esta muy currado este post sobre ordenar, al igual que post de paginar
    Mi pregunta es: Como se pueden juntar ordenar registros y paginar a la vez porque lo estoy intentando y no me sale. Por favor ayudenme.
    Graciass

  30. Hola,lo primero gracias por el articulo,he estado probando el codigo y queria adaptarlo a que me mostraria los datos siendo variables, ej. empleados>los muestra pero por ejemplo otra tabla que serian jefes y los mostraria, consigo que me enseñe la primera pagina pero al darle a siguiente la pagina 2,3…. son siempre las de la tabla empleados.he estao mirando por todos lados pero no se como cambiarlo, haber si me podias decir como cambiar las demas paginas.
    gracias

  31. Hola, estoy intentando ponerle un link a los registros pero no lo he conseguido…
    ¿Cómo haría por ejemplo para colocar aquí el enlace?
    echo ”

    “.$MostrarFila[‘nombres’].”

    n”;
    Gracias!

  32. Hola , me super encanto , es lo que estaba buscando, no se si sera mucha molestia, pero quiero hacer exactamente eso pero sin ajax ni java, solo php, mysql y html, alguna idea?
    Muchas Gracias!!!!!! Exelente tuto

  33. Hola, quiero hacer un programita solo en PHP + MySQL + HTML, nada de ajax ni java ni css
    y quiero que haga lo siguiente:
    1.- que muestre en una tabla los datos de una base de datos en 4 colunmas: 1=id, 2=Nombre, 3= apellido y 4= edad
    2.- que al darle click a la cabecera de la colunma me los ordene por nombre, apellido o edad, en Ascendente, y al darle click otra vez me los ordenes en descendente
    3.- que la informacion de cada celda se pueda editar y que tenga un boton a un lado que si le das click se actualiza la informacion en la base de datos
    4.- un boton para guardar todo global
    es todo hasta ahorita llevo esto pero no puedo hacer que ordene las columnas:
    Cualquier ayuda sera muy agradecida!!!:

    Firstname:
    Lastname:
    Age:

    <?php
    $con = mysql_connect("localhost","root","");
    if (!$con)
    {
    die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("my_db", $con);
    $result = mysql_query("SELECT * FROM Persons");
    echo "

    “;
    //Ordena por id
    while($row = mysql_fetch_array($result))
    {
    echo “

    “;
    //echo”

    “;
    echo “

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    }
    //Ordena por FirstName
    if(isset($_POST[‘orderbyfirstname’])){
    $OrderByFirstname = mysql_query(“SELECT * FROM persons ORDER BY firstname”);
    while ($row = mysql_fetch_array($result, $OrderByFirstname)) {
    echo “

    “;
    //echo”

    “;
    echo “

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    }
    }
    //Ordena por Lastname
    if(isset($_POST[‘orderbylastname’])){
    $OrderByLastName = mysql_query(“SELECT * FROM persons ORDER BY lastname”);
    while ($row = mysql_fetch_array($result,$OrderByLastName)) {
    echo “

    “;
    //echo”

    “;
    echo “

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    }
    }
    //Ordena por Age
    if(isset($_POST[‘orderbyage’])){
    $OrderByAge = mysql_query(“SELECT * FROM persons ORDER BY age”);
    while ($row = mysql_fetch_array($result,$OrderByAge)) {
    echo “

    “;
    //echo”

    “;
    echo “

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    echo”

    “;
    echo “

    “;
    }
    }
    echo “

    ID No.
    ” . $row[‘No’] . “ “. $row[‘Id’] . “

    B/S

    B/S

    B/S

    ” . $row[‘No’] . “ “. $row[‘Id’] . “

    B/S

    B/S

    B/S

    ” . $row[‘No’] . “ “. $row[‘Id’] . “

    B/S

    B/S

    B/S

    ” . $row[‘No’] . “ “. $row[‘Id’] . “

    B/S

    B/S

    B/S

    “;
    //meter una funcion para darle click y que se cierre la base de datos
    mysql_close($con);
    ?>

    Y este es el archivo insert.php :

Leave a Reply

Your email address will not be published. Required fields are marked *

Proudly powered by WordPress | Theme: Wanderz Blog by Crimson Themes.