Foros del Web » Programando para Internet » Jquery »

aplicar filtros a una tabla

Estas en el tema de aplicar filtros a una tabla en el foro de Jquery en Foros del Web. hola una pregunta, ustedes deben conocer PHP...quiero saber cual es la logica ideal al momento de aplicar filtros a una busqueda--- bueno, a ver.... por ...
  #1 (permalink)  
Antiguo 15/03/2013, 11:46
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
aplicar filtros a una tabla

hola una pregunta, ustedes deben conocer PHP...quiero saber cual es la logica ideal al momento de aplicar filtros a una busqueda---

bueno,

a ver.... por ejemplo tengo una tabla que me trae resultado y quiero aplicarles un filtro, cual es la manera mas "formal" para hacerlo..?

1) una forma muy basica es , tener un formulario, debajo de la tabla donde presento los datos, el formulario tiene un input que envia valores de busqueda a esa misma pagina, bueno al principio de todo tengo un isset, que si tiene valores de un supuesto INPUT-filtro hara OTRA consulta, con un WHERE impriendo otra tabla
distinta a que el isset devuelva falso, hara un select * from usuarios...
bueno es muy basico no creo que haga falta colocar codigo... pero veo esta manera un poco basica-trucha

2) la otra es similar usando mysql, seria mas con ajax, tomando un valor, buscar en la tabla devolver resultados y colocarlos, toma mucha importancia ajax y mysql...

3) hay un plugin en jquery, no se bien es como funciona. pero toma los datos de manera estatica, no se comunica con mysql o base de datos.. es raro... o por lo menos en el ejemplo toma los datos de un html estatico (ya tiene los registros insertados)


esta es una funcion , parecida que busca texto y toma los registros y los imprime de nuevo, osea no hay nada dinamico, en relacion a datos nuevos en una base de datos


Código PHP:

jQuery
.uiTableFilter = function(jqphrasecolumnifHidden){
  var 
new_hidden false;
  if( 
this.last_phrase === phrase ) return false;

  var 
phrase_length phrase.length;
  var 
words phrase.toLowerCase().split(" ");

  
// these function pointers may change
  
var matches = function(elem) { elem.show() }
  var 
noMatch = function(elem) { elem.hide(); new_hidden true }
  var 
getText = function(elem) { return elem.text() }

  if( 
column ) {
    var 
index null;
    
jq.find("thead > tr:last > th").each( function(i){
      if( $(
this).text() == column ){
        
index i; return false;
      }
    });
    if( 
index == null ) throw("given column: " column " not found")

    
getText = function(elem){ return jQuery(elem.find(
      (
"td:eq(" index ")")  )).text()
    }
  }

  
// if added one letter to last time,
  // just check newest word and only need to hide
  
if( (words.size 1) && (phrase.substr(0phrase_length 1) ===
        
this.last_phrase) ) {

    if( 
phrase[-1] === " " )
    { 
this.last_phrase phrase; return false; }

    var 
words words[-1]; // just search for the newest word

    // only hide visible rows
    
matches = function(elem) {;}
    var 
elems jq.find("tbody > tr:visible")
  }
  else {
    
new_hidden true;
    var 
elems jq.find("tbody > tr")
  }

  
elems.each(function(){
    var 
elem jQuery(this);
    
jQuery.uiTableFilter.has_wordsgetText(elem), wordsfalse ) ?
      
matches(elem) : noMatch(elem);
  });

  
last_phrase phrase;
  if( 
ifHidden && new_hidden ifHidden();
  return 
jq;
}; 

viendolo bien , creo que no tendria problemas de funcinar con datos dinamicos, ya que primero se imprime lo que es php y despues el jquery funcionaria... disculpen...

la duda principal del post, es que este plugin no hace busqueda en tabla mysql, hace las busqueda en los datos impresos de un html, pero al parecer funciona de igual manera asi que no hay problema

Última edición por aldo_rengo; 15/03/2013 a las 12:19

Etiquetas: filtros, tabla
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 07:40.