我正在使用Extjs应用程序,我需要获得两个选择查询的结果,在Json中对结果进行编码,然后将包含这些结果的商店绑定到gridview。
我有一个gridview,有两列,第一列是“name_scope”,第二列是应该包含范围值的组合框(范围可以有多个值)。所以我在mySQL中创建了两个表,“scope”和“scope_value”,我想将scope_name从“scope”表绑定到我的第一列,然后将值从“scope_value”表绑定到组合列。
我不认为为这件事做两个商店是个好主意,所以我想只制作一个包含这两个查询的php脚本:
SELECT name_scope FROM scope
和
SELECT value FROM value_scope WHERE name_scope = "'. $name_scope .'"';
这些是我的表格:
create table scope (name_scope varchar(50) not null primary key, description varchar(100));
create table value_scope (id_value int not null primary key AUTO_INCREMENT,name_scope varchar(50), value varchar(100),
foreign key (name_scope) references scope(name_scope) on delete cascade);
我的网格视图:
{
xtype: 'container',
id : 'grid_container',
anchor: '100%',
forceFit: true,
items: [{
xtype: 'gridpanel',
id: 'scope_grid',
layout : 'fit',
frame: true,
columnLines: true,
iconCls: 'icon-grid',
title: 'Prod/Rel added',
store: 'GetScopeData',
columns: [{
id: 'n_scope',
text: 'Scope',
flex: 1,
sortable: true,
dataIndex: 'name_scope'},
{ header: 'Product Release',
width: 220,
fixed: true,
hideable: false,
dataIndex: 'value',
editor: {
xtype: 'combobox',
displayField: 'value',
valueField: 'value',
mode: 'local',
editable : false,
typeAhead: false,
triggerAction: 'all',
lazyRender: true,
emptyText: 'Select action',
listClass: 'x-combo-list-small'
}}
]}
我的php脚本应该是什么样的? 请任何帮助将不胜感激。
答案 0 :(得分:0)
您可以将这两个select语句合并为一个,例如
SELECT value FROM value_scope WHERE name_scope in (SELECT name_scope FROM scope);
答案 1 :(得分:0)
您可以使用您想要的结果集创建一个商店 - 2个字段(name_scope和value),并使用join将您的查询合并为一个:
SELECT scope.name_scope,value FROM scope
INNER JOIN value_scope ON(scope.name_scope = value_scope.name_scope)
WHERE scope.name_scope = "'. $name_scope .'"';