serj_tankian Posted November 14, 2016 at 11:37 AM Report #600496 Posted November 14, 2016 at 11:37 AM Boas pessoal, Indo direto ao assunto: 1- Um produto é constituído por varias peças. 2- O preço do produto é calculado pela soma de todas as peças que o constituem. 3- A quantidade necessária de cada peça é calculada conforme a altura e largura desejada do produto final. Posto isto, consigo imprimir uma tabela altura por largura para cada uma das peças do produto, o meu objectivo seria fundir as tabelas e ter só uma já com o preço total para cada medida EX: (valores fictícios para exemplificar) Peça 1 Peça2A\L 10 20 30 40 A\L 10 20 30 40 5 15 25 35 45 5 2 4 6 8 6 16 26 36 46 6 2 3 4 5 O objectivo seria ter uma só tabela com a soma das duas: A\L 10 20 30 40 5 17 29 41 53 6 18 29 40 51 Segue o meu código: Citação <?php if (mysqli_num_rows($resultadotab)>0) { $rowtab=mysqli_fetch_array($resultadotab); if(mysqli_num_rows($resultadoppc)>0){ while($rowppc=mysqli_fetch_array($resultadoppc)){ ?> <!-- TABELA DE TODOS OS PREÇOS DE UMA PEÇA DE UM PRODUTO --> <table border="1"> <tr> <th>A\L</th> <?php $largura=unserialize($rowtab["largura"]); $altura=unserialize($rowtab["altura"]); echo"teste<br>"; for($i=0 ; $i<count($largura); $i++ ){ echo "<th>".$largura[$i]."</th>"; } echo "</tr>"; for($a=0; $a<count($altura); $a++){ echo "<tr>"; echo "<td><strong>".$altura[$a]."</strong></td>"; for ($i=0 ; $i<count($largura); $i++){ $formula=eval('return'.$rowppc["ppc_funcao"] .';'); echo "<td>".$formula."</td>"; } echo "</tr>"; } } ?> </table> <?php }} ?> Será algo no ciclo for ou while, estará a faltar me algo, preciso da vossa ajuda para imprimir uma unica tabela com a soma dos valores. Cumps,
HappyHippyHippo Posted November 14, 2016 at 02:48 PM Report #600499 Posted November 14, 2016 at 02:48 PM não seria mais interessante fazer isso do lado do SQL ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
serj_tankian Posted November 14, 2016 at 03:44 PM Author Report #600502 Posted November 14, 2016 at 03:44 PM 50 minutos atrás, HappyHippyHippo disse: não seria mais interessante fazer isso do lado do SQL ? e como o faria? A altura e a largura estão guardadas em array, se não iria ter uma tabela para cada produto, assim chamo a linha correspondente e construo a tabela com as medidas lá guardadas
HappyHippyHippo Posted November 14, 2016 at 03:57 PM Report #600503 Posted November 14, 2016 at 03:57 PM 12 minutes ago, serj_tankian said: e como o faria? A altura e a largura estão guardadas em array, se não iria ter uma tabela para cada produto, assim chamo a linha correspondente e construo a tabela com as medidas lá guardadas por outras palavras : a pensar que ias ter menos trabalho, acabaste por ter muito mais ao fim do caminho, certo ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
serj_tankian Posted November 14, 2016 at 04:00 PM Author Report #600504 Posted November 14, 2016 at 04:00 PM Agora, HappyHippyHippo disse: por outras palavras : a pensar que ias ter menos trabalho, acabaste por ter muito mais ao fim do caminho, certo ? sim, o objectivo é tornar sempre tudo mais simples e claro... a base de dados terá mais de 100 produtos, o que provavelmente acrescentaria mais 100 tabelas só para guardar as medidas de cada produto, feito desta maneira consigo simplificar todo o processo, só estou a ter dificuldades em somar os campos direitos e juntar na mesma tabela (como tenho no exemplo que dei em cima)
HappyHippyHippo Posted November 14, 2016 at 05:19 PM Report #600508 Posted November 14, 2016 at 05:19 PM se o objectivo é de tornar tudo mais simples, foste exactamente pelo caminho errado, como podes ver pelo problema que tens agora. e essa tua ideia de ter mais 100 tabelas para tamanhos diferentes, está completamente errada, terias somente mais uma única tabela. resultado : tens de fazer tudo à mão agora em PHP ... pior do que isso, é usar a instrução eval no meio do mesmo PHP o que tens de fazer agora é iterar por todas as tabelas que queres compor, iterar por todas as alturas e todas as larguras, calcular o resultado e compor uma tabela final. difícil? não. desnecessário ? completamente. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
serj_tankian Posted November 14, 2016 at 05:38 PM Author Report #600509 Posted November 14, 2016 at 05:38 PM 7 minutos atrás, HappyHippyHippo disse: se o objectivo é de tornar tudo mais simples, foste exactamente pelo caminho errado, como podes ver pelo problema que tens agora. e essa tua ideia de ter mais 100 tabelas para tamanhos diferentes, está completamente errada, terias somente mais uma única tabela. resultado : tens de fazer tudo à mão agora em PHP ... pior do que isso, é usar a instrução eval no meio do mesmo PHP o que tens de fazer agora é iterar por todas as tabelas que queres compor, iterar por todas as alturas e todas as larguras, calcular o resultado e compor uma tabela final. difícil? não. desnecessário ? completamente. acredito que não tenha tomado o caminho mais facil no final, o problema agora é adoptar um script certo, e ao chegar nesse ponto, consigo fazer para todos os produtos. a instrução eval se é por causa da segurança não tem problema, isto não será para estar online, apenas numa rede local.. o eval utilizei devido a isto... cada peça terá uma função de calculo unica, e essa função vai variar se a peça fizer parte do produto A ou do produto B, assim ao adicionar uma peça a um determinado produto, vai guardar na bd tambem a função de calculo correspondente, depois é só chamar esse campo. As dimensões da tabela são variáveis de produto para produto, daí guardar todas as medidas numa tabela chamada "tabela" Aí estão os campos largura, altura, produto (para associar ao produto a tabela). Largura e altura são dois arrays que guardam os valores da altura e da largura para formar a tabela. É um bocado complexo estar a explicar toda a base de dados...
HappyHippyHippo Posted November 14, 2016 at 05:39 PM Report #600510 Posted November 14, 2016 at 05:39 PM 19 minutes ago, HappyHippyHippo said: o que tens de fazer agora é iterar por todas as tabelas que queres compor, iterar por todas as alturas e todas as larguras, calcular o resultado e compor uma tabela final. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
serj_tankian Posted November 14, 2016 at 05:50 PM Author Report #600511 Posted November 14, 2016 at 05:50 PM (edited) 11 minutos atrás, HappyHippyHippo disse: Isso já fiz, mostra me as tabelas de todas as peças que compoem um produto, o que me falta é pegar nessas tabelas todas e somar os valores e imprimir a tabela final do produto (que é a soma de todas as tabelas das peças). Falta me esse ponto que não estou a conseguir chegar lá, algo me falha no algoritmo, daí precisar de uma "luz" para me orientar Edited November 14, 2016 at 05:52 PM by serj_tankian
HappyHippyHippo Posted November 14, 2016 at 05:57 PM Report #600512 Posted November 14, 2016 at 05:57 PM não o que tu fizeste foi algo separado. o que disse é que a composição da tabela final é feita através desses ciclos todos. - para todas as tabelas - para todas as alturas - calcular o valor - deteminar a largura - inserir na tabela final IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
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