<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>jQuery Grid Plugin - jqGrid - Topic: Single Search Problem</title>
	<link>http://www.trirand.com/blog/?page_id=393/help/single-search-problem</link>
	<description><![CDATA[Grid plugin]]></description>
	<generator>Simple:Press Version 5.7.5.3</generator>
	<atom:link href="http://www.trirand.com/blog/?page_id=393/help/single-search-problem/rss" rel="self" type="application/rss+xml" />
        <item>
        	<title>nubieJoe on Single Search Problem</title>
        	<link>http://www.trirand.com/blog/?page_id=393/help/single-search-problem#p26687</link>
        	<category>Help</category>
        	<guid isPermaLink="true">http://www.trirand.com/blog/?page_id=393/help/single-search-problem#p26687</guid>
        	        	<description><![CDATA[<p>Hello everyone,&#160;</p>
<p>I am very new to jqgrid, and have been trying for hours to get the single search working for my simple jqgrid. I researched online through Google/stackoverflow/search_adv demo code and still to no avail.</p>
</p>
<p>Here is my relavent javascript and PHP code. I think the main problem is that the _search is not passed so, my $where is always empty.</p>
</p>
<p>&#60;script type="text/javascript"&#62;</p>
<p><span style="white-space: pre;"> </span>$(function() {</p>
<p><span style="white-space: pre;"> </span>//This function creates the table, search on jqGrid demo for simpler example to understand</p>
<p><span style="white-space: pre;"> </span>$("#list").jqGrid({</p>
<p style="padding-left: 90px;">url:&#39;main-grid.php&#39;,</p>
<p style="padding-left: 90px;">datatype: &#39;json&#39;,</p>
<p style="padding-left: 90px;">mtype: &#39;POST&#39;,</p>
<p style="padding-left: 90px;">colNames:[&#39;Items&#39;, &#39;Item Number&#39;],</p>
<p style="padding-left: 90px;">colModel :[</p>
<p style="padding-left: 120px;">{name:&#39;textbook&#39;, index:&#39;textbook&#39;, width:100, searchoptions:{sopt:[&#39;eq&#39;]}},</p>
<p style="padding-left: 120px;">{name:&#39;poNum&#39;, index:&#39;poNum&#39;, width:30, align:&#39;center&#39;, searchoptions:{sopt:[&#39;eq&#39;,&#39;ne&#39;,&#39;lt&#39;,&#39;le&#39;,&#39;gt&#39;,&#39;ge&#39;]}}</p>
<p style="padding-left: 90px;">],</p>
<p style="padding-left: 90px;">pager: &#39;#pager&#39;,</p>
<p style="padding-left: 90px;">rowNum: 100,</p>
<p style="padding-left: 90px;">sortname: &#39;bookID&#39;,</p>
<p style="padding-left: 90px;">sortorder: &#39;desc&#39;,</p>
<p style="padding-left: 90px;">viewrecords: false,</p>
<p style="padding-left: 90px;">autowidth: true,</p>
<p style="padding-left: 90px;">height: 600,</p>
<p><span style="white-space: pre;"> </span>});</p>
<p><span style="white-space: pre;"> </span>$("#list").jqGrid(&#39;navGrid&#39;,&#39;#pager&#39;,{edit:false,add:false,del:false,searchtext:"Search"});</p>
<p><span style="white-space: pre;"> </span>});</p>
<p>&#60;/script&#62;</p>
<p>/*PHP*/</p>
<p>//array to translate the search type</p>
<p>$ops = array(</p>
<p style="padding-left: 30px;">&#39;eq&#39;=&#62;&#39;=&#39;, //equal</p>
<p style="padding-left: 30px;">&#39;ne&#39;=&#62;&#39;&#60;&#62;&#39;,//not equal</p>
<p style="padding-left: 30px;">&#39;lt&#39;=&#62;&#39;&#60;&#39;, //less than</p>
<p style="padding-left: 30px;">&#39;le&#39;=&#62;&#39;&#60;=&#39;,//less than or equal</p>
<p style="padding-left: 30px;">&#39;gt&#39;=&#62;&#39;&#62;&#39;, //greater than</p>
<p style="padding-left: 30px;">&#39;ge&#39;=&#62;&#39;&#62;=&#39;,//greater than or equal</p>
<p style="padding-left: 30px;">&#39;bw&#39;=&#62;&#39;LIKE&#39;, //begins with</p>
<p style="padding-left: 30px;">&#39;bn&#39;=&#62;&#39;NOT LIKE&#39;, //doesn&#39;t begin with</p>
<p style="padding-left: 30px;">&#39;in&#39;=&#62;&#39;LIKE&#39;, //is in</p>
<p style="padding-left: 30px;">&#39;ni&#39;=&#62;&#39;NOT LIKE&#39;, //is not in</p>
<p style="padding-left: 30px;">&#39;ew&#39;=&#62;&#39;LIKE&#39;, //ends with</p>
<p style="padding-left: 30px;">&#39;en&#39;=&#62;&#39;NOT LIKE&#39;, //doesn&#39;t end with</p>
<p style="padding-left: 30px;">&#39;cn&#39;=&#62;&#39;LIKE&#39;, // contains</p>
<p style="padding-left: 30px;">&#39;nc&#39;=&#62;&#39;NOT LIKE&#39;  //doesn&#39;t contain</p>
<p>);</p>
<p>function getWhereClause($col, $oper, $val){</p>
<p style="padding-left: 30px;">global $ops;</p>
<p style="padding-left: 30px;">if($oper == &#39;bw&#39; &#124;&#124; $oper == &#39;bn&#39;) $val .= &#39;%&#39;;</p>
<p style="padding-left: 30px;">if($oper == &#39;ew&#39; &#124;&#124; $oper == &#39;en&#39; ) $val = &#39;%&#39;.$val;</p>
<p style="padding-left: 30px;">if($oper == &#39;cn&#39; &#124;&#124; $oper == &#39;nc&#39; &#124;&#124; $oper == &#39;in&#39; &#124;&#124; $oper == &#39;ni&#39;) $val = &#39;%&#39;.$val.&#39;%&#39;;</p>
<p style="padding-left: 30px;">return "AND $col {$ops[$oper]} &#39;$val&#39; ";</p>
<p>}</p>
<p>$where = ""; //if there is no search request sent by jqgrid, $where should be empty</p>
<p>if ($_REQUEST[&#39;_search&#39;] == &#39;true&#39;) {</p>
<p>$where = getWhereClause($searchField,$searchOper,$searchString);</p>
<p>}</p>
<p>// Database Connection</p>
<p>$con = mysql_connect ( $db_server, $db_username, $db_password ) or die(&#39;Could not connect: &#39;. mysql_error());;</p>
<p>$db_select = mysql_select_db ( $db_name ) or die(&#39;Failed to access the database: &#39;. mysql_error());</p>
</p>
<p>$query = "SELECT po.poNum, book.id, book.textbook FROM $tb_po po, $tb_book book WHERE book.id=po.bookID ".$where. " ORDER BY $sidx $sord";</p>
<p>$result = mysql_query ( $query ) or die ( "Querying failed "" . $tb_book . "" and "" . $tb_po . "". " . mysql_error() );</p>
<p>$count = mysql_num_rows($result);</p>
<p>$responce = new stdClass;</p>
<p>//$responce-&#62;page = new stdClass;</p>
<p>$responce-&#62;page = 1;</p>
<p>//$responce-&#62;total = new stdClass;</p>
<p>$responce-&#62;total = 1;</p>
<p>//$responce-&#62;records = new stdClass;</p>
<p>$responce-&#62;records = $count;</p>
<p>$i = 0;</p>
</p>
<p>while( $row = mysql_fetch_array($result)){</p>
<p style="padding-left: 30px;">//$responce-&#62;rows[$i][&#39;id&#39;] = new stdClass;</p>
<p style="padding-left: 30px;">//$responce-&#62;rows[$i][&#39;cell&#39;] = new stdClass;</p>
<p style="padding-left: 30px;">$responce-&#62;rows[$i][&#39;id&#39;]= $row[&#39;id&#39;];</p>
<p style="padding-left: 30px;">$responce-&#62;rows[$i][&#39;cell&#39;]=array($row[&#39;textbook&#39;],$row[&#39;poNum&#39;]);</p>
<p style="padding-left: 30px;">$i++;</p>
<p>}</p>
</p>
<p>echo json_encode($responce);</p></p>
]]></description>
        	        	<pubDate>Tue, 29 May 2012 17:21:23 +0300</pubDate>
        </item>
</channel>
</rss>