Fórum Objeto com mais de uma variavel #622485
21/09/2024
0
Estou tentando passar essas duas consultas como variáveis em um objeto, mas não estão retornando na página de chamada da função.
Arquivo prova1.php:
Arquivo Provas.php
Arquivo prova1.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <?php $path = $_SERVER [ 'DOCUMENT_ROOT' ] . '/selecao/' ; include_once ( $path . '/Controllers/prova_controller.php' ); session_start(); $listar_questoes = new Provas(); $listar_questoes = $listar_questoes ->ListarProvas(); ?> <!DOCTYPE html> <html> <head> <title>Prova</title> </head> <body bgcolor=#cccc99 style = "lang: pt-BR; link:#000080; vlink:#800000; dir:ltr" > <form action= "" method= "POST" > Questão 1: <?php echo $prova1 [ "Questao" ]);?> <br><br><input type=radio name=questao1 value= "<?php echo $prova1[" Alt_A "];?>" >(A) <?php echo $prova1 [ "Alt_A" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova1[" Alt_B "];?>" >(B) <?php echo $prova1 [ "Alt_B" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova1[" Alt_C "];?>" >(C) <?php echo $prova1 [ "Alt_C" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova1[" Alt_D "];?>" >(D) <?php echo $prova1 [ "Alt_D" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova1[" Alt_E "];?>" >(E) <?php echo $prova1 [ "Alt_E" ];?> Questão 2: <?php echo $prova1 [ "Questao" ]);?> <br><br><input type=radio name=questao1 value= "<?php echo $prova2[" Alt_A "];?>" >(A) <?php echo $prova2 [ "Alt_A" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova2[" Alt_B "];?>" >(B) <?php echo $prova2 [ "Alt_B" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova2[" Alt_C "];?>" >(C) <?php echo $prova2 [ "Alt_C" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova2[" Alt_D "];?>" >(D) <?php echo $prova2 [ "Alt_D" ];?> <br><br><input type=radio name=questao1 value= "<?php echo $prova2[" Alt_E "];?>" >(E) <?php echo $prova2 [ "Alt_E" ];?> <input type=submit value=Gravar name=Gravar><br><br> <input type=submit value=Finalizar name=Finalizar> </form> </body> </html> |
Arquivo Provas.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?php $path = $_SERVER [ 'DOCUMENT_ROOT' ] . '/selecao' ; include_once ( $path . '/Conexao.php' ); Class Provas { public function ListarProvas() { $objConexao = new Conexao(); $conexao = $objConexao ->getConexao(); $sql = "select * from questoes where Id = 1" ; $resposta = $conexao ->query( $sql ); $prova1 = $resposta ->fetch_assoc(); $sql = "select * from questoes where Id = 2" ; $resposta = $conexao ->query( $sql ); $prova2 = $resposta ->fetch_assoc(); $listagemProvas = new Provas( $prova1 , $prova2 ); return $listagemProvas ; } } ?> |

Lúcio Sales
Curtir tópico
+ 0
Responder
Posts
23/09/2024
Arthur Heinrich
Não entendo nada de PHP. Porém, quando você definiu a classe Provas e o método ListarProvas(), você não criou propriedades da sua classe para armazenar os resultados.
Parece que você utilizou apenas variáveis locais, dentro do método ListarProvas() e, quando o método termina de executar, as variáveis são desalocadas. Seu conteúdo não é exportado.
Mesmo que tivessem sido declaradas propriedades, você não poderia acessá-las diretamente usando $prova1 ou $prova2. Provavelmente teria que fazer uma referência à classe: $listar_questoes->prova1->Questao e não instanciar uma nova classe dentro do método ListarProvas.
Parece que você utilizou apenas variáveis locais, dentro do método ListarProvas() e, quando o método termina de executar, as variáveis são desalocadas. Seu conteúdo não é exportado.
Mesmo que tivessem sido declaradas propriedades, você não poderia acessá-las diretamente usando $prova1 ou $prova2. Provavelmente teria que fazer uma referência à classe: $listar_questoes->prova1->Questao e não instanciar uma nova classe dentro do método ListarProvas.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)