2014-01-23 3 views
0

У меня есть два файла php, и я пытаюсь передать значение из выбранного параметра в базовый php-файл и отображать информацию на основе переданного файла ,передать значение из jqgrid в php и рассчитать данные на основе переданного значения

fkm_test.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8″ /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
<title>APP FKMS</title> 

<link rel="stylesheet" type="text/css" media="screen" href="../js/jquery-ui-1.10.3.custom_blackGreen/jquery-ui-1.10.3.custom/css/trontastic/jquery-ui-1.10.3.custom.min.css" /> 
<link rel="stylesheet" type="text/css" media="screen" href="../js/jquery.jqGrid-4.5.2/css/ui.jqgrid.css" /> 


<script src="../js/jquery-ui-1.10.0.custom/jquery-1.9.0.min.js" type="text/javascript"></script> 
<script src="../js/jquery.jqGrid-4.5.2/js/i18n/grid.locale-en.js" type="text/javascript"></script> 
<script src="../js/jquery.jqGrid-4.5.2/js/jquery.jqGrid.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 
function fkm(Application) { 
var app = document.getElementById("myApp").selectedIndex; 
var app_selected = document.getElementsByTagName("option")[app].value; 
alert (app_selected); 
//alert(document.getElementsByTagName("option")[app].value); 
var lastSel 
$("#list").jqGrid({ 

    url: "fkm_display.php?app=$app_selected", 
    editurl: "fkmedit.php", 
    datatype: "json", 
    mtype: "GET", 
    colNames: ["App", "Pattern Type", "Pattern", "Rank", "AMRS", "EMEA", "APAC", "Audit", "ID", "Alert Type", "Comments"], 
    colModel: [ 
     { name: "division", width: 75 , editable: true}, 
     { name: "pattern_type", width: 90, editable: true, edittype:"select",formatter:'select', editoptions:{value:"BASIC:BASIC;REGEXP:REGEXP;REGEXP_IGNORE_CASE:REGEXP_IGNORE_CASE" } }, 
     { name: "pattern", width: 650, editable: true }, 
     { name: "rank", width: 50 }, 
     { name: "amrs_active", width: 40, editable: true, edittype:"select",formatter:'select', editoptions:{value:"1:Active;0: " } }, 
     { name: "emea_active", width: 40, editable: true, edittype:"select",formatter:'select', editoptions:{value:"1:Active;0: " } }, 
     { name: "apac_active", width: 40, editable: true, edittype:"select",formatter:'select', editoptions:{value:"1:Active;0: " } }, 
     { name: "audit", width: 200}, 
     { name: "id", width: 10, hidden: true}, 
     { name: "type", width: 20, editable: true, edittype:"select", sorttype:"text",formatter:'select', editoptions:{value:"IGNORE:IGNORE;ALERT:ALERT;WARN:WARN" } }, 
     { name: "comments", width: 10, editable: true,hidden: true} 
    ], 
    height: 'auto', 
    pager: "#pager", 
    rowNum: 90, 
    rowList: [10, 20, 30, 60, 90], 
    sortname: "rank", 
    sortorder: "asc", 
    viewrecords: false, 
    gridview: true, 
    autoencode: true, 
    toppager: true, 
    grouping:true, 
    groupingView : { 
      groupField : ['type'], 
      groupColumnShow : [true], 
      groupText : ['<b>{0} - {1} Item(s)</b>'] 
    }, 
    caption: "Application FKMs" 
}); 
jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: 'cn', ignoreCase: true}); 
jQuery("#list").jqGrid('navGrid','#pager',{"add":true,"del":true, "edit":true,"search":false,"refresh":true,"view":false, "cloneToTop":true}); 
}; 
</script> 

</head> 
<body> 
<form id="phpform" name="phpform" method="POST" action="javascript:fkm();"> 
<select name="Application" id="myApp" > 
<option selected="selected">–Select Application–</option> 
<?php 
include ('app_dbconfig.php'); 
$sql = "SELECT * FROM applications order by Application asc"; 
$result = mysql_query($sql) or die("SQL Error 1: " . mysql_error()); 

while($row=mysql_fetch_assoc($result)) 
{ 
echo '<option value="' . $row['Application'] . '">' . $row['Application'] . '</option>'; 
} 
?> 
</select> 
<input type="submit" name="testing" value="Submit" > 
</form> 
<div align="center"> 
<table id="list"><tr><td></td></tr></table></div> 
<div id="pager"></div> 
</body> 
</html> 

fkm_display.php

<?php 
include("fkm_dbconfig.php"); 

$page = $_GET['page']; 
$limit = $_GET['rows']; 
$sidx = $_GET['sidx']; 
$sord = $_GET['sord']; 

$app = $_GET['app_selected']; 


if(!$sidx) $sidx =1; 
$result = mysql_query("SELECT COUNT(*) AS count FROM global_itrs_fkms"); 
$row = mysql_fetch_array($result,MYSQL_ASSOC); 
$count = $row['count']; 
$total_pages=0; 
if($count >0) { 
    $total_pages = ceil($count/$limit); 
} else { 
    $total_pages = 0; 
} 
if ($page > $total_pages) $page=$total_pages; 
$start = $limit*$page - $limit; 

$filterResultsJSON = json_decode($_REQUEST['filters']); 


if($filterResultsJSON){ 
$filterArray = get_object_vars($filterResultsJSON); 


$filterResultsJSON = json_decode($_REQUEST['filters']); 

$filterArray = get_object_vars($filterResultsJSON);} 
$SQL = "select division,pattern_type,pattern,rank,amrs_active,emea_active,apac_active,concat(audit,' ', timestamp) as audit,id,type from global_itrs_fkms"; 


$counter = 0; 
while($counter < count($filterArray['rules'])) 
{ 
$filterRules = get_object_vars($filterArray['rules'][$counter]); 

if($counter == 0){ 
$SQL .= ' WHERE ' . division = '$app' . $filterRules['field'] . ' LIKE "%' . $filterRules['data'] . '%"'; 
} 

else { 
$SQL .= ' AND ' . $filterRules['field'] . ' LIKE "%' . $filterRules['data'] . '%"'; 
} 
$counter++; 
} 

$SQL .= " order by $sidx $sord LIMIT $start, $limit"; 
echo $SQL; 

$result = mysql_query($SQL) or die("Couldn t execute query.".mysql_error()); 

$responce['total'] = $total_pages; 
$responce['page'] = $page; 
$responce['records'] = $count; 
$i=0; 
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) { 
$responce['rows'][$i]['id']=$row[id]; 
$responce['rows'][$i]['cell']=array($row[division],$row[pattern_type],$row[pattern],$row[rank],$row[amrs_active],$row[emea_active],$row[apac_active],$row[audit],$row[id],$row[type]); 
$i++; 
}   
echo json_encode($responce); 

Если я изменить URL: "? Fkm_display.php приложение = $ app_selected" в URL: «fkm_display .php ", и когда я нажимаю на submit, я получаю информацию об enitre db, которую я не хочу. Мне нужна только информация, связанная с выбранным приложением.

ответ

0

Я не уверен, какова ваша фактическая проблема. Возможно, ваш URL-адрес jQgrid не был правильно отформатирован. Вам нужно изменить так,

url: "fkm_display.php?app="+app_selected, 

Поскольку ваш app_selected является Java-переменная не PHP переменной. И в вашей стороне сервера вам нужно, чтобы получить значение, как это,

$app = $_GET['app']; 

Но вы используете как $app = $_GET['app_selected']; в коде PHP. Поскольку вы задаете значение app_selected переменной app в вашем коде jQgrid. Надеюсь это поможет.

+0

спасибо, это сработало .. – Carino

+0

Добро пожаловать. –