Foros del Web » Programando para Internet » Jquery »

¿Como hago para verificar que una tabla tenga datos?

Estas en el tema de ¿Como hago para verificar que una tabla tenga datos? en el foro de Jquery en Foros del Web. Buenos días! Estoy tratando verificar si una tabla contiene datos pero el problema que se presenta es que como lleno la tabla con la base ...
  #1 (permalink)  
Antiguo 24/02/2015, 09:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 3 meses
Puntos: 1
¿Como hago para verificar que una tabla tenga datos?

Buenos días! Estoy tratando verificar si una tabla contiene datos pero el problema que se presenta es que como lleno la tabla con la base de datos utilizando el plugin datatables, cuando utilizo este código lo hace antes que se cargue la página como puedo hacer para que verifique una vez que esten cargado los datos en la tabla?, este es el codigo que estoy utilizando:
Código:
	if($('#example tbody tr').length>2)
	{
		alert('tiene datos');
		$('#boton).attr('disabled',true);
	}else{
		alert('no tienen datos');
	$('#boton).attr('disabled',false);
	}
  #2 (permalink)  
Antiguo 24/02/2015, 14:14
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 20 años
Puntos: 145
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

Datatable tiene una serie de funciones tipo callback, es decir que te permiten ejecutar acciones durante los procesos que ejecuta.

Se me ocurre utilizar la funcion fnStateLoad

Código:
$(document).ready( function() {
  $('#example').dataTable( {
    "bStateSave": true,
    "fnStateLoad": function (oSettings) {
        ACA EJECUTA TU CODIGO DE VERIFICACION
    }
  } );
} );

Acá puedes revisar la documentación http://legacy.datatables.net/usage/callbacks

Saludos.
__________________
http://chicho.ninja yiaaaa
  #3 (permalink)  
Antiguo 25/02/2015, 22:01
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

Hola chichote, lo voy a probar y leer la documentación, muchas gracias por responderme.
  #4 (permalink)  
Antiguo 02/03/2015, 00:12
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

Cita:
Iniciado por chichote Ver Mensaje
Datatable tiene una serie de funciones tipo callback, es decir que te permiten ejecutar acciones durante los procesos que ejecuta.

Se me ocurre utilizar la funcion fnStateLoad

Código:
$(document).ready( function() {
  $('#example').dataTable( {
    "bStateSave": true,
    "fnStateLoad": function (oSettings) {
        ACA EJECUTA TU CODIGO DE VERIFICACION
    }
  } );
} );

Acá puedes revisar la documentación http://legacy.datatables.net/usage/callbacks

Saludos.
Hola chichote trate de aplicar esa función en el código que estoy utilizando pero noc como hacer para verificar que si hay datos me deshabilite los botones, este es el código que estaba utilizando:
Código PHP:
oOverviewTable =$('#table').dataTable({

        
"bFilter":false,//se deshabilita la parte de búsqueda global
        
"bProcessing"true,//se activa para que se pueda visualizar grandes cantidad de datos
        
"bServerSide"true,//se define del lado del servidor
        
"sAjaxSource"'erver_processing.php?sSearch='+sBuscar,//se pasa la ruta donde trabaja con los archivos
"bStateSave"true,
    
"fnStateLoad": function (oSettings) {
        
//pero aqui noc como hacer para retornar el valor de que si hay datos o no
}
        
    }); 
Como tendría que hacer para verificar que haya datos en la tabla?
  #5 (permalink)  
Antiguo 02/03/2015, 07:17
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 20 años
Puntos: 145
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

puedes poner algo similar a lo que posteaste en primera instancia o también puedes utilizar el objeto que retorna dataTable, puedes verificar que es lo que te retorna haciendo un console.log(oSettings) dentro de la funcion fnStateLoad

saludos.
__________________
http://chicho.ninja yiaaaa
  #6 (permalink)  
Antiguo 02/03/2015, 07:41
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

Hola chichote lo coloque así:
Código:
var oOverviewTable =$('#table').dataTable({
		"bFilter":false,//se deshabilita la parte de búsqueda global
		"bProcessing": true,//se activa para que se pueda visualizar grandes cantidad de datos
		"bServerSide": true,//se define del lado del servidor
		 "bStateSave": true,
		"sAjaxSource": 'erver_processing.php?sSearch='+sBuscar,//se pasa la ruta donde trabaja con los archivos

		"fnStateSave": function (oSettings, oData) {
      		console.log(oSettings);
    }
	});
y nada que funciona en el sentido que no me verifica si hay datos en el datatables
  #7 (permalink)  
Antiguo 02/03/2015, 08:12
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 20 años
Puntos: 145
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

console.log(oSettings); no es para verificar si hay datos en el datatable, es para que tu verifiques que datos te entrega la función y según ello programes lo que sea necesario.

Vamos que se puede, te toca investigar un poco sobre el dom

saludos.
__________________
http://chicho.ninja yiaaaa
  #8 (permalink)  
Antiguo 02/03/2015, 08:19
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

Cita:
Iniciado por chichote Ver Mensaje
console.log(oSettings); no es para verificar si hay datos en el datatable, es para que tu verifiques que datos te entrega la función y según ello programes lo que sea necesario.

Vamos que se puede, te toca investigar un poco sobre el dom

saludos.
Ah ok, con razón pero no entiendo algo, si la tabla se carga con los datos, porque cuando coloco console.log(oSettings), así comolo escribi en el post anterior no me muestra nada en la consola?
  #9 (permalink)  
Antiguo 02/03/2015, 08:24
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 20 años
Puntos: 145
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

yo utilizo firebug en firefox, estoy acostumbrado con la consola y el navegador del dom de firebug, no se que consola estaras utilizando, pero algo debiera mostrar siempre y cuando ese codigo lo tengas dentro del document ready.

saludos.
__________________
http://chicho.ninja yiaaaa
  #10 (permalink)  
Antiguo 02/03/2015, 10:05
 
Fecha de Ingreso: septiembre-2011
Mensajes: 233
Antigüedad: 13 años, 3 meses
Puntos: 1
Respuesta: ¿Como hago para verificar que una tabla tenga datos?

Cita:
Iniciado por chichote Ver Mensaje
yo utilizo firebug en firefox, estoy acostumbrado con la consola y el navegador del dom de firebug, no se que consola estaras utilizando, pero algo debiera mostrar siempre y cuando ese codigo lo tengas dentro del document ready.

saludos.
Lo tengo dentro del document ready, coloco el código completo
Código:
$(document).ready(function(){

	//se trabaja con el plugin datatable, para que le de el formato de mostrar los datos por determinada cantidad, paginación
	var oOverviewTable =$('#table').dataTable({
		"bFilter":false,//se deshabilita la parte de búsqueda global
		"bProcessing": true,//se activa para que se pueda visualizar grandes cantidad de datos
		"bServerSide": true,//se define del lado del servidor
		"sAjaxSource": 'include/funciones/server_processing.php?sSearch=1',//se pasa la ruta donde trabaja con los archivos
		"fnStateSave": function (oSettings, oData) {
      		console.log(oSettings);
    	}
	});
});

Etiquetas: tabla, verificar
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:03.