Author Topic: DataTable de JQuery dinámicamente con consulta a mysql  (Read 18255 times)

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #15 on: Octubre 25, 2013, 04:17:48 am »
Ahora mismo te he contestado. Ya no tengo errores en el json


EDITO:

LLEVAS RAZON SIGO TENIENDO ERRORES EN EL JSON.


Parece que al final de el array falta:

Quote
,
            "0"
        ]
    ]
}


Y debería de terminar el array así:

Quote
[
            "481071428641",
            "TABLETOP",
            "30.7921",
            "18.1",
            "0"
        ]
    ]
}



Pero ya te digo que si le pongo filtro al SELECT si me imprime unos 100 registros. Porque puede ser ?
« Last Edit: Octubre 25, 2013, 04:54:42 am by satjaen »

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5466
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #16 on: Octubre 25, 2013, 03:09:57 pm »
Yo no digo que tengas o no errores, eso lo comentas tú.

Si el json acaba mal es porque lo estás generando mal en el código. Si dices que depende de si pones o no filtro (entiendo que un where en la consulta), quizás sea algún dato que no te guste, o algo que hagas mal al cerrar/abrir arrays.

No veo tampoco la diferencia entre los dos terminaciones de json que has puesto, es como si el primero fuera el final del segundo, así que en principio son iguales, salvo que me digas que delante del primero hay otra cosa que no hay en el segundo.

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #17 on: Octubre 25, 2013, 03:30:19 pm »
Gracias, quiero preguntarte si datatable tiene algún limite de registros para imprimir. He encontrado este php en esta página:

Code: [Select]
http://samuel-granados.com/blog/jquery-datatables/

Podemos adaptarlo para que me sirva ?

Quote
<?php
 
// Recoge las variables querystring de la tabla
if (isset($_GET['sEcho'])) { $sEcho = $_GET['sEcho']; }
if (isset($_GET['iDisplayStart'])) { $iDisplayStart = intval($_GET['iDisplayStart']); }
if (isset($_GET['iDisplayLength'])) { $iDisplayLength = intval($_GET['iDisplayLength']); }
if (isset($_GET['sSearch'])) { $sSearch = $_GET['sSearch']; }
if (isset($_GET['iSortingCols'])) { $iSortingCols = intval($_GET['iSortingCols']); }
 
$respuesta = '';
$num_registros = 0;
 
/*
   Comprueba en los parámetros si hay columnas que ordenar.
   Las columnas a ordenar vendrán en forma de iSortCol_0, iSortCol_1, iSortCol_2, ...
   El orden de la ordenación vendrá en forma de sSortDir_0, sSortDir_1, sSortDir_2, ...
 
   Debemos conocer qué columna en la tabla corresponde a qué campo en la base de datos.
   En este ejemplo la columna 0 corresponde al campo Campo_0, etc.
   sSortDir_x contiene la cadena 'asc' o 'desc'.
 
   Guardamos toda la información de ordenación en el array $iSortCol,
   donde los elementos tendrán la forma iSortCol[0] = 'Columna_1 desc', iSortCol[1] = 'Columna_0 asc', ...
   Las columnas vendrán en el orden que la página web las solicite, es decir, puede que el usuario quiera
   ordenar primero la columna 2 antes que la 1.
*/
$iSortCol = array();
if ($iSortingCols > 0) {
    for($i = 0; $i < $iSortingCols; $i++) {
        if (isset($_GET['iSortCol_'.$i]) {
            $iSortCol[] = 'Campo_'.$i;
            if (isset($_GET['sSortDir_'.$i])) {
                $iSortCol[sizeof($iSortCol) - 1] .= ' '.$_GET['sSortDir_'.$i];
            }
        }
    }
}
 
// Abre la conexión a la base de datos
$db = new mysqli("servidor", "usuario", "contraseña", "basedatos");
$db->set_charset("utf8")
 
// Recupera el número total de registros de la tabla
$r = $db->query("SELECT COUNT(*) FROM tabla");
$s = $r->fetch_array();
$num_registros = $s[0];
$r->close();
 
// Forma la cadena de respuesta en formato JSON
$respuesta = '{ "sEcho": '.$sEcho.', ';
$respuesta .= '"iTotalRecords": '.$strval($num_registros).', ';
$respuesta .= '"iTotalDisplayRecords": '.strval($num_registros).', ';
$respuesta .= '"aaData": [';
 
// Genera la consulta SQL que recupera los datos de la tabla
$consulta = 'SELECT Columna_0, Columna_1, Columna_2 FROM tabla';
 
if (isset($sSearch)) {
    if (!isempty($sSearch)) {
        $consulta .= " WHERE (Columna_0 LIKE '%".$sSearch."%' OR Columna_1 LIKE '%".$sSearch."%' OR Columna_2 LIKE '%".$sSearch."%')";
    }
}
 
if ($iSortingCols > 0) {
    $consulta .= ' ORDER BY ';
    for($i = 0; $i < $iSortingCols; $i++) {
        $consulta .= $iSortCol[$i];
        if ($i < $iSortingCols) { $consulta .= ', '; }
    }
}
 
if (isset($iDisplayLength)) {
    $consulta .= ' LIMIT ';
    if (isset($iDisplayStart)) {
        $consulta .= strval($iDisplayStart).', ';
    }
    $consulta .= strval($iDisplayLength);
}
 
// Recupera las filas de la tabla que hay que mostrar
$r = $db->query($consulta);
while($s = $r->fetch_array()) {
    $respuesta .= '["'.$s[0].'", "'.$s[1].'", "'.$s[2].'"]';
}
$r->close();
 
// Cierra la conexión
$db->close();
$respuesta .= ']}';
 
// Devuelve la cadena JSON que contiene la respuesta
echo $respuesta;
?>
« Last Edit: Octubre 25, 2013, 03:34:30 pm by satjaen »

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5466
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #18 on: Octubre 25, 2013, 04:30:21 pm »
Tienes tu propio php ya casi hecho, a falta de corregir algún error (seguramente una tontería) en el json que generas. Te va a costar más adaptar el php y el el datetable tiene un limite en el json que admite, después de adaptar vas a seguir teniendo el mismo problema.

Yo que tú trataría de corregir el problema con el json, como te digo, seguramente es una chorrada.

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #19 on: Octubre 25, 2013, 04:37:53 pm »
Si, pero el problema es que no veo ningún error al validar el json. Simplemente no termina con los corchetes. Supungo que será porque habrá algo mal en dicho json.

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5466
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #20 on: Octubre 25, 2013, 06:10:47 pm »
El json puedes validarlo en el enlace que te pase. Si está mal, es porque lo generas mal en tu php. Si no termina en corchetes, busca el sitio en php donde debes generar esos corchetes y ponlo.

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #21 on: Octubre 25, 2013, 06:16:04 pm »
En el enlace es donde estoy validando en json, pero cuando lo pongo el array sin filtro en el Select es cuando al final sale sin los corchetes. Y cuando le pongo filtro sale perfecto. No será que hay muchos registros para mostrar y por eso da el error ?

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #22 on: Octubre 25, 2013, 10:51:14 pm »
chuidiang poniendo este filtro (articulos que su coste sea mayor de 10€) al select la datatable me lista hasta 1300 registros. Te sirve de algo ?

Quote
$sql="select recambio,denominacion,coste,pvp,existencias from almacen000 where coste>10";
« Last Edit: Octubre 25, 2013, 10:57:59 pm by satjaen »

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5466
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #23 on: Octubre 26, 2013, 04:11:01 am »
¿Cómo es el final del json que tiene error?. Más que la consulta, me serviría ver cómo sale el json. Antes pusiste uno con error y otro sin error, pero te comenté que aparentemente eran iguales (el final), a eso no contestaste nada.

Pregunto por el final del json porque has puesto "es cuando al final sale sin los corchetes", imagino que te refieres al final del json que es donde está el error. Si hubiera algún limite, se te cortaría el json en algún sitio bruscamente. Si te sale la úlitma } y lo que faltan son corchetes, no creo que el problema sea un límite de tamaño.

Se bueno.
« Last Edit: Octubre 26, 2013, 04:12:49 am by chuidiang »

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #24 on: Octubre 26, 2013, 05:47:53 pm »
Gracias chuidiang, ya lo he resuelto. Dejo el enlace donde lo encontre:

Code: [Select]
http://www.youtube.com/watch?v=FX5YxkGmkmk

Seré bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #25 on: Octubre 27, 2013, 04:25:16 am »
Chuidiang, ahora lo que quiero es poder sacar la tabla en pdf. Te pongo el código:

Quote
<?php
/*PLANTILLA DATTATBLE DITABLE CON PARAMETROS DONDE SOLO SE TIENE QUE EDITAR EL QUERY Y LA CONEXION ("include('connections/")
 * ESTA PLANTILLA CUNETA CON PARAMETROS COMO DATEPICKER DE JQUERY, BOTONES GUARDAR Y <SELECT><OPTION>
 * ESTA PLANTILLA ESTA UBICADA EB C:\xampp\htdocs\Plantillas\DataTableEditable.php *
 * ESTE ARCHIVO NO FUNCIONA SOLO, REQUIERE DE SUS COMPONENETE PREVIOS QUE SON LOS SIGUIENTES *
 *
 * css/demo_table.css   LE DAFORMA A LA TABLA
 * css/jquery-ui.css    TRABAJA EN CONJUNTO CON JQUERY UI PARA DARLE CIERTO COLOR A LOS COMPONENETE RESULTANTES DE JEQUERY UI
 *
 * js/jquery.js         LIBRERIA ORIGINAL DE JQUERY
 * js/jquery.dataTables.min.js  LE DA FORMATO Y FUNCIONES A LA TABLA
 * js/jquery-ui-1.8.18.custom.min.js    PROVEE CALENDARIOS,SCROLLBAR Y OTROS COMPONENETES
 * js/jquery.validate.js        VALIDA VALORES INGRESADOS
 * js/jquery.jeditable.js       HACE QUE SE PUEDA EDITAR DESDE JS
 * js/jquery.dataTables.editable.js     HACE QUE SE PUEDA EDITAR DESDE JS EN AYUDA CON jquery.jeditable.js
 */
include('connections/localhost.php');
header('Content-type: text/html; charset=iso-8859-1');
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <link href="css/demo_table.css" rel="stylesheet"  type="text/css"/>
        <link href="css/jquery-ui.css" rel="stylesheet"  type="text/css"/>

        <script src="js/jquery.js"></script>
        <script src="js/jquery.dataTables.min.js" type="text/javascript"></script>
        <script src="js/jquery-ui-1.8.18.custom.min.js" type="text/javascript"></script>
        <script src="js/jquery.validate.js" type="text/javascript"></script>
        <script src="js/jquery.jeditable.js" type="text/javascript"></script>
        <script src="js/jquery.dataTables.editable.js" type="text/javascript"></script>
        <script src="js/jquery.jeditable.datepicker.js" type="text/javascript"></script>
        <script>
            $(document).ready(function(){
                //DAMOS FORMATO A LA TABLA example Y LA CONVERTIMOS EN PARAMETRO EN oTable
                var oTable = $('#example').dataTable({
                    bJQueryUI: true
                }).makeEditable({
                    /*
                     *LA CONEXION A LA BD SE ENCUENTRA EN  connections/localhost.php
                     *ajax/Mysql.php  UBICACION DL ARCHVO QUE RESIBIRA LOS PARAMETROS A EDITAR EN LA BD
                     *STATEMENT=UPDATE (o DELETE o INSERT)  ES EL TIPO DE QUERY PUEDE SER UPDTE,INSERT, O DELETE (SELECT NOOOO)
                     *TABLE     ES EL NOMBRE DE LA TABLA
                     *IDNAME    ES EL ID QUE SE VA A ACTUALIZAR O BORRAR (INSERT OVBIO NO LLEVA IDNAME)
                    */
                    sUpdateURL: "ajax/Mysql.php?STATEMENT=UPDATE&TABLE=almacen000&IDNAME=recambio",
                    sDeleteURL: "ajax/Mysql.php?STATEMENT=DELETE&TABLE=almacen000&IDNAME=recambio",
                    sAddURL: "ajax/Mysql.php?STATEMENT=INSERT&TABLE=almacen000",
                    sDeleteHttpMethod: "GET",
                    sAddHttpMethod: "GET"
                   
                    ,"aoColumns": [
                        {
                            type: 'text',
                            submit: 'Guardar'
                        },
                  {
                            type: 'text'
                       
                        },
                        /*PARA QUE FUNCIONE ESTE PARAMETRO SE REQUIERE EL PHP listData/EngineVersionList.php*/
                        {
                            //indicator: 'Saving Engine Version...',
                            tooltip: 'Click to select engine version',
                            loadtext: 'loading...',
                            type: 'select',
                            onblur: 'cancel',
                            submit: 'Ok',
                            loadurl: 'listData/EngineVersionList.php',
                            loadtype: 'GET',
                            cssclass:"aaa"
                        }
                    ]                   
                });
                $("#interpret").datepicker();
                //LLAMAMSO A LOS INPUTS QUE ESTAN EN EL PIE DE LA TABLA
                $("tfoot input").keyup( function () {
                    oTable.fnFilter( this.value, $("tfoot input").index(this) );
                } );
               
            });           
        </script>
        <title></title>
    </head>
    <body>
        <!-- BOTONES AGREGAR Y BORRAR  -->
        <button id="btnAddNewRow" class="add_row ui-button-text">Añadir</button>
        <button id="btnDeleteRow" class="add_row ui-button-text">Borrar</button>
        <?php
        //LLENAMOS LA BASE DE DATOS
        mysql_select_db($database_localhost, $localhost);
        $sqlSelect ="
        SELECT
       recambio,denominacion,pvp,coste,existencias,existencias004,ubicacion,proveedor
        ";
        $sqlFrom = "
        FROM almacen000
        ";
       $sqlGroup = "  ";
        //UNIMOS LAS PARETES DE LAS QUERYS
        $sqlQuery = $sqlSelect . $sqlFrom . $sqlWhere . $sqlGroup;
        $table = mysql_query($sqlQuery, $localhost) or die(mysql_error());
        if ($table) {
            ?>
        <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
            <thead>
            <tr>
                <?php
                for($i = 0; $i < mysql_num_fields($table); $i++) {
                    $field_info = mysql_fetch_field($table, $i);
                    if($field_info->name!="id"){
                    ?>
                        <th><?php echo $field_info->name; ?></th>
                    <?php
                    }
                }
                ?>
            </tr>
            </thead>
            <tbody>
                <?php
                //SACAMOS LOS REGISTROS DE LA TABLA
                while ($row = mysql_fetch_assoc($table)) {
                    ?>
                <tr id="<?php echo $row["recambio"]; ?>">
                    <?php
                    for($i = 0; $i < mysql_num_fields($table); $i++) {
                        $field_info = mysql_fetch_field($table, $i);
                        if($field_info->name!="id"){
                        ?>
                            <td><?php    echo $row[$field_info->name]; ?></td>
                        <?php
                        }
                    }
                    ?>
                </tr>
                    <?php
                }
                ?>               
            </tbody>
            <tfoot>
      <tr>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                </tr>
            </tfoot>                       
        </table>
<!--        CADA TEXT Y LABEL DEBE DE ESTAR VINCULADO CON CADA COLUMNA DE LA BASE DE DATOS
        LOS rel="0" DEBEN DE TENER UN ORDEN CONSECUTIVO-->
        <form id="formAddNewRow" action="#" title="Agregar registro">
                <?php
                $contColum=0;
                for($i = 0; $i < mysql_num_fields($table); $i++) {
                    $field_info = mysql_fetch_field($table, $i);
                    if($field_info->name!="id"){
                        ?>
                        <label for="<?php echo $field_info->name; ?>"><?php echo $field_info->name; ?></label><br />
                        <input type="text" name="COLUMN_<?php echo $field_info->name; ?>"
                            id="<?php echo $field_info->name; ?>" class="required" rel="<?php echo $contColum; ?>" />
                        <br />           
                        <?php
                        $contColum++;
                    }
                }
                ?>
        </form>
            <?php
        }
        ?>
    </body>
</html>


Y lo que tengo que insertar creo que es esto pero no se como:

Quote
"Sodoma" : "T <" clear "> lfrtip ' ,
        "OTableTools" : {
            "ABotones" : [
                "Pdf"
            ]
        }


Y ademas tendré que añadir el botón imprimir no ?
« Last Edit: Octubre 27, 2013, 04:31:40 am by satjaen »

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5466
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #26 on: Octubre 27, 2013, 04:44:44 am »
Aquí tienes el ejemplo http://datatables.net/extras/tabletools/buttons

Según eso, no tienes que hacer nada, sólo poner eso del tool y buttons en donde tengas tu DataTable.

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #27 on: Octubre 27, 2013, 04:46:52 am »
Ya lo he estado viendo pero no se como introducirlo en mi código.

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 5466
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #28 on: Octubre 27, 2013, 11:03:22 am »
No es tan complicado ....

Code: [Select]
var oTable = $('#example').dataTable({
                    bJQueryUI: true,
                    "sDom": 'T<"clear">lfrtip',
                    "oTableTools": {
                    "aButtons": [
                          "pdf","print"
                    ]
        }).makeEditable(.....

Se bueno.

satjaen

  • Jr. Member
  • **
  • Posts: 99
  • Karma: 0
    • View Profile
Re: DataTable de JQuery dinámicamente con consulta a mysql
« Reply #29 on: Octubre 27, 2013, 06:07:18 pm »
Gracias, pero y los botones donde los pongo y tengo que darles algún un id?

Quote
<?php
/*PLANTILLA DATTATBLE DITABLE CON PARAMETROS DONDE SOLO SE TIENE QUE EDITAR EL QUERY Y LA CONEXION ("include('connections/")
 * ESTA PLANTILLA CUNETA CON PARAMETROS COMO DATEPICKER DE JQUERY, BOTONES GUARDAR Y <SELECT><OPTION>
 * ESTA PLANTILLA ESTA UBICADA EB C:\xampp\htdocs\Plantillas\DataTableEditable.php *
 * ESTE ARCHIVO NO FUNCIONA SOLO, REQUIERE DE SUS COMPONENETE PREVIOS QUE SON LOS SIGUIENTES *
 *
 * css/demo_table.css   LE DAFORMA A LA TABLA
 * css/jquery-ui.css    TRABAJA EN CONJUNTO CON JQUERY UI PARA DARLE CIERTO COLOR A LOS COMPONENETE RESULTANTES DE JEQUERY UI
 *
 * js/jquery.js         LIBRERIA ORIGINAL DE JQUERY
 * js/jquery.dataTables.min.js  LE DA FORMATO Y FUNCIONES A LA TABLA
 * js/jquery-ui-1.8.18.custom.min.js    PROVEE CALENDARIOS,SCROLLBAR Y OTROS COMPONENETES
 * js/jquery.validate.js        VALIDA VALORES INGRESADOS
 * js/jquery.jeditable.js       HACE QUE SE PUEDA EDITAR DESDE JS
 * js/jquery.dataTables.editable.js     HACE QUE SE PUEDA EDITAR DESDE JS EN AYUDA CON jquery.jeditable.js
 */
include('connections/localhost.php');
header('Content-type: text/html; charset=iso-8859-1');
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <link href="css/demo_table.css" rel="stylesheet"  type="text/css"/>
        <link href="css/jquery-ui.css" rel="stylesheet"  type="text/css"/>

        <script src="js/jquery.js"></script>
        <script src="js/jquery.dataTables.min.js" type="text/javascript"></script>
        <script src="js/jquery-ui-1.8.18.custom.min.js" type="text/javascript"></script>
        <script src="js/jquery.validate.js" type="text/javascript"></script>
        <script src="js/jquery.jeditable.js" type="text/javascript"></script>
        <script src="js/jquery.dataTables.editable.js" type="text/javascript"></script>
        <script src="js/jquery.jeditable.datepicker.js" type="text/javascript"></script>
        <script>
      
           $(document).ready(function(){
                //DAMOS FORMATO A LA TABLA example Y LA CONVERTIMOS EN PARAMETRO EN oTable
            var oTable = $('#example').dataTable({
                    bJQueryUI: true,
                    "sDom": 'T<"clear">lfrtip',
                    "oTableTools": {
                    "aButtons": [
                          "pdf","print"
                    ]
              }
                }).makeEditable({
                    /*
                     *LA CONEXION A LA BD SE ENCUENTRA EN  connections/localhost.php
                     *ajax/Mysql.php  UBICACION DL ARCHVO QUE RESIBIRA LOS PARAMETROS A EDITAR EN LA BD
                     *STATEMENT=UPDATE (o DELETE o INSERT)  ES EL TIPO DE QUERY PUEDE SER UPDTE,INSERT, O DELETE (SELECT NOOOO)
                     *TABLE     ES EL NOMBRE DE LA TABLA
                     *IDNAME    ES EL ID QUE SE VA A ACTUALIZAR O BORRAR (INSERT OVBIO NO LLEVA IDNAME)
                    */
                    sUpdateURL: "ajax/Mysql.php?STATEMENT=UPDATE&TABLE=almacen000&IDNAME=recambio",
                    sDeleteURL: "ajax/Mysql.php?STATEMENT=DELETE&TABLE=almacen000&IDNAME=recambio",
                    sAddURL: "ajax/Mysql.php?STATEMENT=INSERT&TABLE=almacen000",
                    sDeleteHttpMethod: "GET",
                    sAddHttpMethod: "GET"
                    ,"aoColumns": [
                        {
                            type: 'text',
                            submit: 'Guardar'
                        },
                  {
                            type: 'text'
                       
                        },
                  {
                            type: 'text'
                       
                        },
                  {
                            type: 'text'
                       
                        },
                  {
                            type: 'text'
                       
                        },
                  {
                            type: 'text'
                       
                        },
                  {
                            type: 'text'
                       
                        },
                  {
                            type: 'text'
                       
                        },
                  {
                            type: 'text'
                       
                        },
                  
                        /*PARA QUE FUNCIONE ESTE PARAMETRO SE REQUIERE EL PHP listData/EngineVersionList.php*/
                        {
                            //indicator: 'Saving Engine Version...',
                            tooltip: 'Click to select engine version',
                            loadtext: 'loading...',
                            type: 'select',
                            onblur: 'cancel',
                            submit: 'Ok',
                            loadurl: 'listData/EngineVersionList.php',
                            loadtype: 'GET',
                            cssclass:"aaa"
                        }
                    ]                   
                });
                $("#interpret").datepicker();
                //LLAMAMSO A LOS INPUTS QUE ESTAN EN EL PIE DE LA TABLA
                $("tfoot input").keyup( function () {
                    oTable.fnFilter( this.value, $("tfoot input").index(this) );
                } );
               
            });           
        </script>
        <title></title>
    </head>
    <body>
        <!-- BOTONES AGREGAR Y BORRAR  -->
        <button id="btnAddNewRow" class="add_row ui-button-text">Añadir</button>
        <button id="btnDeleteRow" class="add_row ui-button-text">Borrar</button>
        <?php
        //LLENAMOS LA BASE DE DATOS
        mysql_select_db($database_localhost, $localhost);
        $sqlSelect ="
        SELECT
       recambio,denominacion,pvp,coste,existencias,existencias004,minimos,ubicacion,proveedor
        ";
        $sqlFrom = "
        FROM almacen000
        ";
       $sqlGroup = "  ";
        //UNIMOS LAS PARETES DE LAS QUERYS
        $sqlQuery = $sqlSelect . $sqlFrom . $sqlWhere . $sqlGroup;
        $table = mysql_query($sqlQuery, $localhost) or die(mysql_error());
        if ($table) {
            ?>
        <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
            <thead>
            <tr>
                <?php
                for($i = 0; $i < mysql_num_fields($table); $i++) {
                    $field_info = mysql_fetch_field($table, $i);
                    if($field_info->name!="id"){
                    ?>
                        <th><?php echo $field_info->name; ?></th>
                    <?php
                    }
                }
                ?>
            </tr>
            </thead>
            <tbody>
                <?php
                //SACAMOS LOS REGISTROS DE LA TABLA
                while ($row = mysql_fetch_assoc($table)) {
                    ?>
                <tr id="<?php echo $row["recambio"]; ?>">
                    <?php
                    for($i = 0; $i < mysql_num_fields($table); $i++) {
                        $field_info = mysql_fetch_field($table, $i);
                        if($field_info->name!="id"){
                        ?>
                            <td><?php    echo $row[$field_info->name]; ?></td>
                        <?php
                        }
                    }
                    ?>
                </tr>
                    <?php
                }
                ?>               
            </tbody>
            <tfoot>
      <tr>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                    <th><input type="text"></th>
                </tr>
            </tfoot>                       
        </table>
<!--        CADA TEXT Y LABEL DEBE DE ESTAR VINCULADO CON CADA COLUMNA DE LA BASE DE DATOS
        LOS rel="0" DEBEN DE TENER UN ORDEN CONSECUTIVO-->
        <form id="formAddNewRow" action="#" title="Agregar registro">
                <?php
                $contColum=0;
                for($i = 0; $i < mysql_num_fields($table); $i++) {
                    $field_info = mysql_fetch_field($table, $i);
                    if($field_info->name!="id"){
                        ?>
                        <label for="<?php echo $field_info->name; ?>"><?php echo $field_info->name; ?></label><br />
                        <input type="text" name="COLUMN_<?php echo $field_info->name; ?>"
                            id="<?php echo $field_info->name; ?>" class="required" rel="<?php echo $contColum; ?>" />
                        <br />           
                        <?php
                        $contColum++;
                    }
                }
                ?>
        </form>
            <?php
        }
        ?>
    </body>
</html>
« Last Edit: Octubre 28, 2013, 12:52:03 am by satjaen »

 

ey