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:

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

Lúcio Sales

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.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar