Foros del Web » Programando para Internet » PHP »

¿Se puede filtrar datos al cargar la página datatables jquery php?

Estas en el tema de ¿Se puede filtrar datos al cargar la página datatables jquery php? en el foro de PHP en Foros del Web. Hola, escribo en esta oportunidad porque estoy utilizando el plugin datatables jquery del lado del servidor, me gustaría saber si se puede que al cargar ...
  #1 (permalink)  
Antiguo 04/01/2015, 20:30
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
¿Se puede filtrar datos al cargar la página datatables jquery php?

Hola, escribo en esta oportunidad porque estoy utilizando el plugin datatables jquery del lado del servidor, me gustaría saber si se puede que al cargar los datos al principio se pueda filtrar, es decir, que me muestre los datos solo del id de empleado 29 por ejemplo, se puede?
  #2 (permalink)  
Antiguo 05/01/2015, 05:03
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: ¿Se puede filtrar datos al cargar la página datatables jquery php?

Eso es tarea de como haces el SELECT de Mysql...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 05/01/2015, 07:57
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Se puede filtrar datos al cargar la página datatables jquery php?

Cita:
Iniciado por loncho_rojas Ver Mensaje
Eso es tarea de como haces el SELECT de Mysql...
Hola loncho_rojas gracias por responderme, eso lo hice el idusuario 29 tiene 3 registro nada más, pero al mostrar la tabla en la parte de abajo me dice esto:
Mostrando 1 - 3 de un total de 3 registros (filtradas de un total de 14 registros) no me gustaria que dijiera esa parte de filtradas de un total de 14 registros porque ese usuario nada más tiene 3.
Este es parte del código que estoy utilizando, en el idUsuario por prueba le coloque el número como hago para pasarle ese valor porque puede variar?
Código PHP:
$sQuery "
        SELECT SQL_CALC_FOUND_ROWS "
.str_replace(" , "" "implode(", "$aColumns))."
        FROM   $sTable
        WHERE idUsuario =29
        $sOrder
        $sLimit
    "
;
    
$rResult $conexion->query($sQuery) or die($conexion->error());
    
    
/* Data set length after filtering */
    
$sQuery "
        SELECT FOUND_ROWS()
    "
;
    
$rResultFilterTotal $conexion->query($sQuery) or die($conexion->error());
    
$aResultFilterTotal $rResultFilterTotal->fetch_array();
    
$iFilteredTotal $aResultFilterTotal[0];
    
    
/* Total data set length */
    
$sQuery "
        SELECT COUNT("
.$sIndexColumn.")
        FROM   $sTable
    "
;
    
$rResultTotal $conexion->query($sQuery) or die($conexion->error());
    
$aResultTotal $rResultTotal->fetch_array();
    
$iTotal $aResultTotal[0];

    
$output=array(
        
"sEcho"=>intval($_GET['sEcho']),
        
"iTotalRecords"=>$iTotal,
        
"iTotalDisplayRecords"=>$iFilteredTotal,
        
"aaData"=>array()
    );

    while(
$aRow $rResult->fetch_array())
    {
        
$row=array();
        for(
$i=0$i<count($aColumns);$i++)
        {
            if(
$aColumns[$i]!=' ')
            {
                
$row[]=$aRow[$aColumns[$i]];
            }
        }
        
$output['aaData'][]=$row;
    }
    echo 
json_encode($output); 
  #4 (permalink)  
Antiguo 05/01/2015, 08:15
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: ¿Se puede filtrar datos al cargar la página datatables jquery php?

Cita:
Mostrando 1 - 3 de un total de 3 registros (filtradas de un total de 14 registros) no me gustaria que dijiera esa parte de filtradas de un total de 14 registros porque ese usuario nada más tiene 3.
...Pues quítasela...
¿Para qué haces esto, entonces:
Código PHP:
Ver original
  1. /* Total data set length */
  2.     $sQuery = "
  3.        SELECT COUNT(".$sIndexColumn.")
  4.        FROM   $sTable
  5.    ";
  6.     $rResultTotal = $conexion->query($sQuery) or die($conexion->error());
  7.     $aResultTotal = $rResultTotal->fetch_array();
  8.     $iTotal = $aResultTotal[0];
Tu mismo estás haciendo que te ponga eso. Si noi lo quieres, quitale esa parte (cuya utilidad no se enitende), y también la parte donde agregas eso a la vista...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 05/01/2015, 08:24
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Se puede filtrar datos al cargar la página datatables jquery php?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
...Pues quítasela...
¿Para qué haces esto, entonces:
Código PHP:
Ver original
  1. /* Total data set length */
  2.     $sQuery = "
  3.        SELECT COUNT(".$sIndexColumn.")
  4.        FROM   $sTable
  5.    ";
  6.     $rResultTotal = $conexion->query($sQuery) or die($conexion->error());
  7.     $aResultTotal = $rResultTotal->fetch_array();
  8.     $iTotal = $aResultTotal[0];
Tu mismo estás haciendo que te ponga eso. Si noi lo quieres, quitale esa parte (cuya utilidad no se enitende), y también la parte donde agregas eso a la vista...

Hola gnzsoloyo, le quite esa parte y ahora en la parte que le agrego a la vista queda así:
Código PHP:
$output=array(
        
"sEcho"=>intval($_GET['sEcho']),
        
"iTotalDisplayRecords"=>$iFilteredTotal,
        
"aaData"=>array()
    );

    while(
$aRow $rResult->fetch_array())
    {
        
$row=array();
        for(
$i=0$i<count($aColumns);$i++)
        {
            if(
$aColumns[$i]!=' ')
            {
                
$row[]=$aRow[$aColumns[$i]];
            }
        }
        
$output['aaData'][]=$row;
    }
    echo 
json_encode($output); 
pero ahora en la parte de abajo me sale esto:
Mostrando 1 - 3 de un total de 3 registros (filtradas de un total de NaN registros), no deberia salir la parte de filtradas

como hago para pasarle ese valor porque puede variar?
  #6 (permalink)  
Antiguo 05/01/2015, 08:27
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: ¿Se puede filtrar datos al cargar la página datatables jquery php?

¿Por qué no anulas ese bloque de texto?
Al menos ponlo como de aparición condicional, donde sólo lo agregues si recibes datos para mostrar.

Mi duda sigue: ¿Para qué necesitas esa información? ¿Cuál es su utilidad para el usuario? ¿De qué le sive saber que encontró 3 regiistros entre 36.024.957, por decir algo?

En teoria de informaciones se suele decir que todo dato irrelevante es ruido en la información. Interfiere con la meta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 05/01/2015, 08:49
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Se puede filtrar datos al cargar la página datatables jquery php?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Por qué no anulas ese bloque de texto?
Al menos ponlo como de aparición condicional, donde sólo lo agregues si recibes datos para mostrar.

Mi duda sigue: ¿Para qué necesitas esa información? ¿Cuál es su utilidad para el usuario? ¿De qué le sive saber que encontró 3 regiistros entre 36.024.957, por decir algo?
Ok, solo le agregue al archivo js esta propiedad "bInfo": false y se quito. Le había dejado esa propiedad para que el usuario supiera cuanto registro tiene pero me parece mejor que se quito ese bloque de texto.

Ahora ese valor del idUsuario puede cambiar porque depende del usuario para que se muestre los datos, como hago para pasarle ese valor?
este es el código que tengo en el js:
Código:
var oOverviewTable =$('#example').dataTable(
	  {
	  			"bProcessing": true,
				"bServerSide": true,
				"bInfo": false,
				"sAjaxSource": 'include/funciones/server_processing_prestamo.php',


	  });
  #8 (permalink)  
Antiguo 05/01/2015, 09:04
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: ¿Se puede filtrar datos al cargar la página datatables jquery php?

Ya lo hice, coloque en el archivo php que llama al js un campo hidden:
Código HTML:
<input type="hidden" id="idUsuariojs" name="idUsuariojs" value="$idUsuario"/> 
y en el js, le agregue al propiedad "sAjaxSource" la variable, quedo así:
Código:
$(document).ready(function(){
//se declara una variable para trabajar con el datatable
var oOverviewTable =$('#example').dataTable(
 {
	 "bProcessing": true,
	"bServerSide": true,
	"bInfo": false,
	"sAjaxSource": 'include/funciones/server_processing_prestamo.php?idUsuario='+parseInt($('#idUsuariojs').val()),
});	  
});

Etiquetas: datatables, filtrar, jquery, página
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 17:49.