2013-03-20 131 views
0

我正在處理一個Extjs應用程序,我需要得到兩個select查詢的結果,在Json中對結果進行編碼,然後將包含這些結果的存儲綁定到一個gridview。我有一個gridview whith兩列,第一個是「name_scope」,第二個是應該包含作用域的值(範圍可以有多個值)的組合框。所以我在mySQL中創建了兩個表,「scope」和「scope_value」,我想將scope_name從「scope」表綁定到我的第一列,然後從「scope_value」表中將值賦給combo列。兩個MySQL SELECT查詢在一個

我不認爲這是一個好主意,以兩家店的這件事情,所以我想僅做一個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); 

我的GridView:

{ 
    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

可以combile這兩個select語句爲一體,就像

SELECT value FROM value_scope WHERE name_scope in (SELECT name_scope FROM scope); 
0

你可以製作一個店,結果設定您想要 - 2場(name_scope和值),並使用連接查詢相結合,之一:

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 .'"';