title: datatables searching option
body: <p>I am using datatables plugin and by that I am searching a field called "privilege". The values of prvilege are "superadmin" and "admin". For wild card search, whenever I am searching by "admin", records are showing for both admin and superadmin. How to fix this issue. My code is like :</p>
  
  <pre><code>function fnFilterColumn ( i )
  {
      $('#example').dataTable().fnFilter( 
       $("#col"+(i+1)+"_filter").val(),i,true,false);
  }
  $(document).ready(function(){
   var oTable = $('#example').dataTable( {
      "bProcessing": true,
      "sAjaxSource": "datatabledb.php",
      "bJQueryUI": true,
      "sPaginationType": "full_numbers",
      "sDom": 'T&lt;"clear"&gt;lfrtip',
      "oTableTools": {
      "aButtons": [
      {
      "sExtends": "csv",
      "sButtonText": "Save to CSV"
      }
      ]
      },
      "oLanguage": {
          "sSearch": "Search all columns:"
      },
     "aoColumns": [
          null,
                   { "bSortable": false }, // disable the sorting property for checkbox header
          null,null,null,null,null,null,null,null
             ]
  } );
  </code></pre>
  
  <p>In the datatabledb.php file, I wrote down my db code like:</p>
  
  <pre><code>&lt;?php
  include('library/function.php');
  
      /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
       * Easy set variables
       */
  
      /* Array of database columns which should be read and sent back to DataTables. Use a space where
       * you want to insert a non-database field (for example a counter or static image)
       */
      $aColumns = array( 'admin_name','admin_photo','username','email','age','location','contact_no','role','creation_date','status' );
  
      /* Indexed column (used for fast and accurate table cardinality) */
      $sIndexColumn = "admin_id";
  
      /* DB table to use */
      $sTable = "admin_details";
  
      /* Database connection information */
      $gaSql['user']       = "root";
      $gaSql['password']   = "";
      $gaSql['db']         = "alert";
      $gaSql['server']     = "localhost";
  
      /* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
      //include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
  
  
      /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
       * If you just want to use the basic configuration for DataTables with PHP server-side, there is
       * no need to edit below this line
       */
  
      /* 
       * MySQL connection
       */
      $gaSql['link'] =  mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password']  ) or
          die( 'Could not open connection to server' );
  
      mysql_select_db( $gaSql['db'], $gaSql['link'] ) or 
          die( 'Could not select database '. $gaSql['db'] );
  
  
      /* 
       * Paging
       */
      $sLimit = "";
  
      if ( isset( $_GET['iDisplayStart'] ) &amp;&amp; $_GET['iDisplayLength'] != '-1' )
      {
          $sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
              mysql_real_escape_string( $_GET['iDisplayLength'] );
      }
  
  
      /*
       * Ordering
       */
      $sOrder = "";
      if ( isset( $_GET['iSortCol_0'] ) )
      {
          $sOrder = "ORDER BY  ";
          for ( $i=0 ; $i&lt;intval( $_GET['iSortingCols'] ) ; $i++ )
          {
              if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
              {
                  $sOrder .= "`".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
                      mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
              }
          }
  
          $sOrder = substr_replace( $sOrder, "", -2 );
          if ( $sOrder == "ORDER BY" )
          {
              $sOrder = "";
          }
      }
  
  
      /* 
       * Filtering
       * NOTE this does not match the built-in DataTables filtering which does it
       * word by word on any field. It's possible to do here, but concerned about efficiency
       * on very large tables, and MySQL's regex functionality is very limited
       */
      $sWhere = "";
      if ( isset($_GET['sSearch']) &amp;&amp; $_GET['sSearch'] != "" )
      {
          $sWhere = "WHERE (";
          for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
          {
              $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
          }
  
          $sWhere = substr_replace( $sWhere, "", -3 );
          $sWhere .= ')';
  
      }
  
  
      /* Individual column filtering */
      for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
      {
          if ( isset($_GET['bSearchable_'.$i]) &amp;&amp; $_GET['bSearchable_'.$i] == "true" &amp;&amp; $_GET['sSearch_'.$i] != '' )
          {
              if ( $sWhere == "" )
              {
                  $sWhere = "WHERE ";
              }
              else
              {
                  $sWhere .= " AND ";
              }
              $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
          }
  
      }
  
  
      /*
       * SQL queries
       * Get data to display
       */
  
      $sQuery = "
          SELECT SQL_CALC_FOUND_ROWS `".str_replace(" , ", " ", implode("`, `", $aColumns))."`
          FROM   $sTable
          $sWhere
          $sOrder
          $sLimit
          ";
  
  
      $rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
      /* Data set length after filtering */
      $sQuery = "
          SELECT FOUND_ROWS()
      ";
      $rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
      $aResultFilterTotal = mysql_fetch_array($rResultFilterTotal);
      $iFilteredTotal = $aResultFilterTotal[0];
  
      /* Total data set length */
      $sQuery = "
          SELECT COUNT(`".$sIndexColumn."`)
          FROM   $sTable
      ";
      $rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
      $aResultTotal = mysql_fetch_array($rResultTotal);
      $iTotal = $aResultTotal[0];
  
  
      /*
       * Output
       */
      $output = array(
          "sEcho" =&gt; intval($_GET['sEcho']),
          "iTotalRecords" =&gt; $iTotal,
          "iTotalDisplayRecords" =&gt; $iFilteredTotal,
          "aaData" =&gt; array()
      );
  
      while ( $aRow = mysql_fetch_array( $rResult ) )
      {
          $row = array();
          if($aRow['admin_name'] != ''){
              $row[] = wordwrap($aRow['admin_name'],15,"&lt;br /&gt;\n",TRUE);
  
          }
          if($aRow['admin_photo'] == ''){
                  $row[] = "&lt;img src='http://fgtpl.com/fugenx1/public_html/alertR/admins/upload/no-pic.jpg' width='50' height='50'&gt;";
          }
          else if($aRow['admin_photo'] != ''){
              $row[] ="&lt;img src='http://fgtpl.com/fugenx1/public_html/alertR/admins/upload/".$aRow['admin_photo']."' width='50' height='50'&gt;" ;
          }
          if($aRow['username'] != ''){
              $row[] = $aRow['username'];
          }
          if($aRow['email'] != ''){
              $row[] = wordwrap($aRow['email'],15,"&lt;br /&gt;\n",TRUE);
          }
          else if($aRow['email'] == ''){
              $row[] = "N/A";
          }
          if($aRow['age'] != 0){
              $row[] = $aRow['age'];
          }
          else if($aRow['age'] == 0){
              $row[] = "N/A";
          }
          if($aRow['location'] != ''){
              $row[] = wordwrap($aRow['location'],20,"&lt;br /&gt;\n",TRUE);
          }
          else if($aRow['location'] == ''){
              $row[] = "N/A";
          }
          if($aRow['contact_no'] != ''){
              $row[] = $aRow['contact_no'];
          }
          else if($aRow['contact_no'] == ''){
              $row[] = "N/A";
          } 
          if($aRow['role'] != ''){
              $row[] = get_role_name_by_id($aRow['role']);
          }
          if($aRow['creation_date'] != ''){
              $joiningDate = date("d-m-Y h:i:s", strtotime($aRow['creation_date']));
              $row[] = substr($joiningDate,0,10);
          }
          if($aRow['status'] != ''){
              $row[] = ($aRow['status'] == 1)?"Enable":"Disable";
          }
  
  
  
  
  
          $output['aaData'][] = $row;
      }
  
  
      echo json_encode( $output );
  ?&gt; 
  </code></pre>