Bonjour tout le monde,
J'ai réussi à intégrer jQuery Datables dans mon projet Symfony2. Dans un premier temps, coté client. Et puis, vu le nombre important d'entrées que je manipule, coté serveur. Seulement, le filtre proposé coté serveur n'est pas efficace comme celui proposé coté client:
1- On ne peut pas filtrer par plusieurs colonnes comme c'est le cas coté client.
2- On ne peut filtrer que par expression exacte. Exemple : en tapant "site" et "zozo", aucun résultat alors que j'ai une string "site des zozo".
Je galère depuis un moment pour améliorer mon code mais je n'y arrive pas. Le voici :
Je ne sais pas comment faire pour prendre en charge tous les mots tapés et aussi rechercher dans toutes les colonnes. Si vous avez une idée je serais reconnaissant. Merci beaucoup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 /* * Filtering */ if ( isset($get['sSearch']) && $get['sSearch'] != '' ){ $aLike = array(); for ( $i=0 ; $i<count($aColumns) ; $i++ ){ if ( isset($get['bSearchable_'.$i]) && $get['bSearchable_'.$i] == "true" ){ //Au lieu de faire $aLike[] = $cb->expr()->like($aColumns[$i], '\'%'. $get['sSearch'] .'%\''); } } if(count($aLike) > 0) $cb->andWhere(new Expr\Orx($aLike)); else unset($aLike); }
Partager