Guest asom Posted March 12, 2013 at 09:50 AM Report #498818 Posted March 12, 2013 at 09:50 AM (edited) Boas pessoal, Sou aluno de redes, só que como trabalho e não tive outra hipótese o meu estágio é a programar em casa e não tenho experiencia nenhuma em php, só mesmo o básico. Alguém me pode ajuda! 😞 ando a dias a tentar fazer um ciclo, array para isto. 😞 alguém me pode indicar o código correto para isto, fico agradecido. echo '<table id=geral > <tr><th>Questão</th><th>Descrição</th><th>Média</th><th>Mediana</th><th>Desvio</th></tr>'; echo "<tr><td>1</td><td>Modo como decorreu</td><td>". number_format($mq1,3)."</td> <td><center>".$mediana1."</center></td><td><center>". number_format($dp1,3). "</center></td></tr>"; echo "<tr class='alt'><td>2</td><td>Desempenho</td><td>". number_format($mq2,3)."</td> <td><center>".$mediana2."</center></td><td><center>". number_format($dp2,3). "</center></td></tr>"; echo '</table><br>'; O objetivo é dar uma tabela com o cabeçalho a dizer Questão, Descrição, media, mediana e desvio e por baixo os numero da questão, descrição no primeiro exemplo é Modo como correu e valores media etc, assim como está funciona, só que me mandaram fazer um ciclo. Mas tem <tr> e <th> e isso complica para mim que não sei praticamente nada de php. Se alguém puder indicar o código agradeço. 😞 Edited March 12, 2013 at 10:11 AM by asom geshi
HappyHippyHippo Posted March 12, 2013 at 10:14 AM Report #498823 Posted March 12, 2013 at 10:14 AM fazer um ciclo sem a existência do array que irá alimentar-lo não só é estranho como desnecessário no entanto o que deverias ter seria: $array = array(); $array[] = array(/* os teus dados */); // cabeçalho $array[] = array(/* dados da primeira linha */); $array[] = array(/* dados da segunda linha */); //... $html = '<table>'; foreach ($array as $key => $record) { $html .= '<tr>'; foreach ($record as $column) { $html .= $key ? '<td>'.$column.'</td> : '<th>'.$column.'</th> ; } $html .= '</tr>'; } $html .= '</table>'; echo $html; IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
ICETuga Posted March 12, 2013 at 10:23 AM Report #498824 Posted March 12, 2013 at 10:23 AM (edited) O meu primeiro conselho, seria não usares echos para contruir esta tabela, colocar o código PHP no meio do HTML onde as variaveis irão mudar. O $mediana, $mq, e $dp são arrays? Ou variáveis individuais? Se são Arrays, qualquer coisa como isto. $numerototaldequestões = 10; $cabecalhos = array("Modo como decorreu", "Desempenho", "..."); $mq = array(45.0987, 78.96543, ...); $dp = array(45.0987, 78.96543, ...); <table id=geral> <tr><th>Questão</th><th>Descrição</th><th>Média</th><th>Mediana</th><th>Desvio</th></tr> for($i = 0, $i < ($numerototaldequestoes), $i++) { ?> <tr> <td><?php echo $i + 1?></td> <td><?php echo $cabecalhos[$i]?></td> <td><?php echo number_format($mq[$i], 3)</td> <td><center><?php echo $mediana[$i]</center></td> <td><center><?php echo number_format($dp[$i], 3)</center></td> </tr> <?php } ?> </table> <br> Edited March 12, 2013 at 10:52 AM by ICETuga
Guest asom Posted March 12, 2013 at 10:33 AM Report #498830 Posted March 12, 2013 at 10:33 AM São variaveis $mediana, $mq, e $dp individuais Icetuga, podes me ajudar. 😞 É mais ou menos o que quero o que indicaste, na linha $dp = array(45,0987, 78,96543, ...); da-me um erro Parse error: syntax error, unexpected '.', expecting ')' in C:\wamp\www\resultados.php on line 84
ICETuga Posted March 12, 2013 at 10:46 AM Report #498833 Posted March 12, 2013 at 10:46 AM São variaveis $mediana, $mq, e $dp individuais Icetuga, podes me ajudar. 😞 É mais ou menos o que quero o que indicaste, na linha $dp = array(45,0987, 78,96543, ...); da-me um erro Parse error: syntax error, unexpected '.', expecting ')' in C:\wamp\www\resultados.php on line 84 Pois dá. Primeiro eu enganei-me e onde está ,(virgula) a separar os decimais será .(ponto), e tens de substituir os ... pelos valores que queres, os 3 pontos era só para indicar que o array continuava. Se são variáveis individuais eu transformaria primeiro num array.... Qualquer coisa como: $arraymq = array($mq1, $mq2, etc.); Trabalhar num ciclo For com variáveis individuais será mais complicado.
HappyHippyHippo Posted March 12, 2013 at 10:46 AM Report #498834 Posted March 12, 2013 at 10:46 AM não me digas que copiaste os '...' sem pensar na razão porque ele os escreveu !!! (acho que vou tirar umas férias do fórum ...) 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Guest asom Posted March 12, 2013 at 10:53 AM Report #498835 Posted March 12, 2013 at 10:53 AM Não apaguei e coloquei 1, 2. ou seja para dar por exemplo $dp1 e $dp2
HappyHippyHippo Posted March 12, 2013 at 11:04 AM Report #498836 Posted March 12, 2013 at 11:04 AM Não apaguei e coloquei 1, 2. ou seja para dar por exemplo $dp1 e $dp2 podes dizer o que quiseres, mas não "insultes" a inteligência dos outros: olha bem para a mensagem de erro: Parse error: syntax error, unexpected '.', expecting ')' in C:\wamp\www\resultados.php on line 84 ele disse que encontrou um ponto onde não deveria ser agora olha para a linha de código: $dp = array(45,0987, 78,96543, ...); onde estão os pontos ? pois ... ------- já que queres a papinha toda mastigada sendo então abrir a boca e enfiar pela traqueia abaixo: $array = array(); $array[] = array('Questão', 'Descrição', 'Média', 'Mediana', 'Desvio'); // cabeçalho $array[] = array(1, 'Modo como decorreu', number_format($mq1,3), $mediana1, number_format($dp1,3)); $array[] = array(2, 'Desempenho', number_format($mq2,3), $mediana2, number_format($dp2,3)); //... $html = '<table>'; foreach ($array as $key => $record) { $html .= '<tr>'; foreach ($record as $column) { $html .= $key ? '<td>'.$column.'</td> : '<th>'.$column.'</th> ; } $html .= '</tr>'; } $html .= '</table>'; echo $html; IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Guest asom Posted March 12, 2013 at 11:37 AM Report #498838 Posted March 12, 2013 at 11:37 AM (edited) Boas Happy, Agradeço na mesma mas já resolvi com algumas alterações no codigo do ice cheguei lá. E como tens não é o que pretendo mas obrigado na mesma. Porque não vejo vantagem colocar $array[] = array(2, 'Desempenho', number_format($mq2,3), $mediana2, number_format($dp2,3)); se precisar de 30 x tinha que colocar 30x $mq2, $mq3, $mq4 etc. E não não quero a papa toda, porque o ice deu-me uma ajuda e consegui chegar ao que queria com algumas alterações. Obrigado a todos. Edited March 12, 2013 at 11:38 AM by asom
HappyHippyHippo Posted March 12, 2013 at 11:53 AM Report #498840 Posted March 12, 2013 at 11:53 AM Porque não vejo vantagem colocar $array[] = array(2, 'Desempenho', number_format($mq2,3), $mediana2, number_format($dp2,3)); se precisar de 30 x tinha que colocar 30x $mq2, $mq3, $mq4 etc. quando tiveres de alterar o código avisa ... 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