carinacosta Posted March 29, 2012 at 10:13 AM Report #446241 Posted March 29, 2012 at 10:13 AM A minha dúvida no fundo é fazer os selects das subgrids. O principal motivo que me levou a questionar-los foi o seguinte: - fiz o download desta datagrid: http://phpgrid.com/example/ o que eu não estou a conseguir Ou seja, a tabela de ordens de fabrico são os dados da tabela principal, e as seguintes 3 são subgrid, só aparecem os dados maximizados correspondentes à respectiva ordem de fabrico. O problema é mesmo não conseguir mostrar os dados da subgrid. Estou a utilizar este código para sugrid: //second grid as detail grid. Notice it is just another regular phpGrid with properites. $sdg = new C_DataGrid("SELECT aprovado, desprm, datprm, numprm From prm","id", "prm"); $sdg->set_col_title("aprovado", "Aprovado"); $sdg->set_col_title("desprm", "Desprm"); $sdg->set_col_title("datprm", "Datprm"); $sdg->set_col_title("numprm", "Numprm"); // define master detail relationship by passing the detail grid object as the first parameter, then the foreign key name. $dg->set_subgrid($sdg,'idof'); $dg -> display(); Será que me podiam ajudar ? Obrigada 👍
djthyrax Posted March 29, 2012 at 11:07 AM Report #446269 Posted March 29, 2012 at 11:07 AM Qual é o erro que aparece? Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
carinacosta Posted March 29, 2012 at 11:09 AM Author Report #446272 Posted March 29, 2012 at 11:09 AM Nao aparece erro, simplesmente no select não me mostra os dados da bd.
djthyrax Posted March 29, 2012 at 11:10 AM Report #446274 Posted March 29, 2012 at 11:10 AM Tens dados na BD? Tira esta linha: $dg->set_subgrid($sdg,'idof'); e muda $dg -> display(); para $sdg->display(); O que te aparece? EDIT: Outra coisa, no teu select não estás a trazer o id (o campo que especificas como primary key). Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
carinacosta Posted March 29, 2012 at 11:19 AM Author Report #446282 Posted March 29, 2012 at 11:19 AM Desapareceram-me os dados do 1º select que tinha feito, ou seja fiquei sem dados nenhuns. seria util mostar-lhe as relações da base de dados ? Quanto á parte de especificação da chave primária, tenho algumas duvidas com isso, eu ja tinha feito os select's todos numa tabela normal. e apareciam os dados respectivos ao mesmo id, mas estava tudo em php.
djthyrax Posted March 29, 2012 at 11:26 AM Report #446284 Posted March 29, 2012 at 11:26 AM O não fazer select do id pode causar algum problema na classe que está a usar. Experimente adicionar alguns dados na base de dados e ir fazendo as coisas passo a passo. Comece por fazer apenas a criação da classe com o select e o display, e veja que há alguma implicação de não ter colocado o campo id no select. Quando isso estiver resolvido (com o acrescentar do campo id ou não), adicione as labels (nome a mostrar das colunas). Depois em relação à subgrid, tome em atenção o exemplo do site (http://phpgrid.com/example/subgrid/). No final deverá obter algo como (linhas + importantes com <-----): $dg = new C_DataGrid("SELECT * FROM Orders", "orderNumber", "Orders"); ///<---- // change column titles $dg->set_col_title("orderNumber", "Order No."); $dg->set_col_title("orderDate", "Order Date"); $dg->set_col_title("shippedDate", "Shipped Date"); $dg->set_col_title("customerNumber", "Customer No."); $sdg = new C_DataGrid("SELECT orderNumber,productCode,quantityOrdered,priceEach FROM OrderDetails", "orderNumber", "OrderDetails"); ///<---- $sdg->set_col_title("orderNumber", "Order No."); $sdg->set_col_title("productCode", "Product Code"); $sdg->set_col_title("quantityOrdered", "Quantity"); $sdg->set_col_title("priceEach", "Unit Price"); // define master detail relationship by passing the detail grid object as the first parameter, then the foreign key name. $dg->set_subgrid($sdg, 'orderNumber'); ///<---- $dg->display(); ///<---- Sem ver o código completo que tem não consigo dizer muito mais que isto... Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
carinacosta Posted March 29, 2012 at 11:32 AM Author Report #446287 Posted March 29, 2012 at 11:32 AM Sim obrigada, o problema é que estou a trabalhar com um BD remotamente (externa). Mas vou tentar averiguar melhor a situação. Obrigada pela sua disponibilidade.
carinacosta Posted March 29, 2012 at 01:33 PM Author Report #446319 Posted March 29, 2012 at 01:33 PM $sdg = new C_DataGrid("SELECT aprovado, desprm, datprm, numprm From prm","id", "prm") Poderia me dizer o que significa este id e prm ? ou seja esta a direcionar o que ?
HappyHippyHippo Posted March 29, 2012 at 02:32 PM Report #446343 Posted March 29, 2012 at 02:32 PM nunca usei essa biblioteca ... irá aparecere alguem que conheça ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
carinacosta Posted March 30, 2012 at 10:12 AM Author Report #446551 Posted March 30, 2012 at 10:12 AM e nao sabe outra maneira de fazer os selects com datagrig php?
HappyHippyHippo Posted March 30, 2012 at 10:26 AM Report #446556 Posted March 30, 2012 at 10:26 AM $sdg = new C_DataGrid("SELECT aprovado, desprm, datprm, numprm From prm","id", "prm") Poderia me dizer o que significa este id e prm ? ou seja esta a direcionar o que ? http://phpgrid.com/documentation/ id : campo identificador do registo prm : nome da tabela do query IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
carinacosta Posted March 30, 2012 at 10:54 AM Author Report #446560 Posted March 30, 2012 at 10:54 AM Obrigada Relativamente a esta função: // define master detail relationship by passing the detail grid object as the first parameter, then the foreign key name. $dg->set_subgrid($sdg,'idof'); Eu na minha base de dados os campos comuns têm nomes diferentes, como por exemplo "id" liga com "idof", neste caso como posso declarar isto na função a cima ? Ou existe outra que possa aplicar ?
HappyHippyHippo Posted March 30, 2012 at 11:07 AM Report #446564 Posted March 30, 2012 at 11:07 AM http://phpgrid.com/documentation/ pelo que li na documentação (algo que deverias ser tu a fazer fazer) será deste género: $datagrid1 = new C_DataGrid("SELECT * FROM tabela1", "id_tabela1", "tabela1"); $datagrid2 = new C_DataGrid("SELECT id_tabela2, ref_id_tabela1 FROM tabela2", "id_tabela2", "tabela2"); $datagrid1->set_subgrid($datagrid2, "ref_id_tabela1", "id_tabela1"); IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
carinacosta Posted March 30, 2012 at 12:08 PM Author Report #446576 Posted March 30, 2012 at 12:08 PM $dg = new C_DataGrid("SELECT id, numordfab, datordfab,ficof, especificacao FROM ordensfabrico","ficof" ,"Orders"); $dg->set_col_title("numordfab", "NumOF"); $dg->set_col_title("datordfab", "DataOF"); $dg->set_col_title("ficof", "Ficof"); $dg->set_col_title("especificacao", "Especificacao"); Eu fiz este select para a primeira tabela, que são os dados principais e agora, e em relação ás subgrids tenho que colocar esses codigo todo que me disse? Ja tentei e não funcionou ? EDIT: Use Geshi para o código, torna os posts mais legíveis. 😕
carinacosta Posted March 30, 2012 at 02:03 PM Author Report #446597 Posted March 30, 2012 at 02:03 PM Não está a funcionar mesmo 😕 aparece me o cabeçalho da subgrid mas os dados nem ve-los.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now