Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde, estou com um erro Trying to get property of non-object in
Gostaria da ajuda de alguém!!
// Recebe o termo de pesquisa se existir
$termo = (isset($_GET['termo'])) ? $_GET['termo'] : '';
// Verifica se o termo de pesquisa está vazio, se estiver executa uma consulta completa
if (empty($termo)):
//if (!empty($id_cliente) && is_numeric($id_cliente)):
// Captura os dados do cliente solicitado
$conexao = conexao::getInstance();
$sql = 'SELECT id, funcao, n_resolucao, data_automatica, nome, lugar, novo_campo, tipo FROM bd_trans';
$stm = $conexao->prepare($sql);
$stm->execute();
$clientes = $stm->fetchAll(PDO::FETCH_OBJ);
if(!empty($cliente)):
endif;
endif;
<?php if(!empty($clientes)):?>
<table width="640" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"><p><br />
</p>
<p><strong>RESOLUÇÃO Nº. <?=$cliente->n_resolucao?>
/ <?php echo date("Y");?></strong></p>
<p><strong> Texto se segue :</strong></p></td>
</tr>
<?php foreach($clientes as $cliente):?>
<tr>
<td width="32">01.</td>
<td width="563"><?=$cliente->funcao?>
<?=$cliente->nome?>
, de
<?=$cliente->lugar?>
para<?=$cliente->novo_campo?>
;</td>
</tr>
<?php endforeach;?>
</table>
<?php endif ?>
os outros campos mostra tudo ok, exceto <?=$cliente->n_resolucao?> que da este erro **Trying to get property of non-object in **
Outra coisa, como eu faço para ele gerar um numero para cada linha?
Ex> 1. ----
2.----
3. ------
Baseado no numero de registros que ele vai puxar do BD.
Grato pela ajuda de já.Realmente, esse o erro, mais como eu faria então para ela pegar os dados certinho mesmo fora do foreach
Certeza que deve exibir fora do foreach? Pois, o escopo do foreach é exibir cada um dos clientes.
Por qual motivo você deve exibir a resolução de um cliente fora do escopo dele? Qual é o critério? Pois, fora do foreach, você exibirá a resolução de apenas um cliente e não da lista.
Devido a ser um numero que não sera repetido.
agora o que esta dentro do foreach será repetido toda a tabela.
Vai resetar o ponteiro e retornar o primeiro item do array.
>
7 minutos atrás, Gabriel Heming disse:
Vai resetar o ponteiro e retornar o primeiro item do array.
Não entendi!
Você tem uma lista de cliente. Retorne o primeiro cliente e imprima o valor que você quer.
>
16 minutos atrás, Gabriel Heming disse:
Vai resetar o ponteiro e retornar o primeiro item do array.
Amigo, sou aprendiz, poderia me da um exemplo com código que mandei, se puder... vlz
Fica muito fácil entregar pronto, uma das ideias do fórum é fomentar o aprendizado.
Basicamente você tem uma lista.
$array = [1 , 2 , 3 , 4];
Você tem que retornar o primeiro valor apenas. Isso pode ser feito de algumas formas.
A mais simples é:
$var = $array[0];
echo $var; // 1
Outra é usando reset:
$var = reset($array);
echo $var; // 1
Você possui uma lista de objetos. Basta retornar o primeiro e imprimir do jeito que já imprime.Bom dia, desculpa amigo se estou errando...
mais declarei a varialvel;
$var = $n_resolucao[0];
e chamei a impressão:
<?php echo($var);?>
e deu o seguinte erro:
Undefined variable: n_resolucao in>
2 minutos atrás, Marcones Borges disse:
Bom dia, desculpa amigo se estou errando...
Não há mal algum em errar, está aqui justamente para aprender.
Vamos lá:
- No seu código não existe a variável $n_resolucao;
- A variável que é uma lista/array é a variável $clientes.
Ou seja, no código abaixo, o nome da variável $n_resolucao está errado:
$var = $n_resolucao[0];
Já para a impressão, esta abaixo não irá funcionar:
<?php echo($var);?>
Pois, o resultado retornado da lista ($clientes) é um objeto. Logo, ele deve ser tratado como tal, que é o que você faz no código abaixo:
<?= $cliente->n_resolucao; ?>>
8 minutos atrás, Gabriel Heming disse:
Corrigi o
$var = $n_resolucao[0];
para:
$var = $clientes[0];
a impressão ficou assim:
<?= $cliente->n_resolucao; ?>
agora deu este erro: ****Notice**: Trying to get property of non-object in **Eu imagino que você fez algo parecido assim:
$var = $clientes[0];
echo $cliente->n_resolucao;
Lá nos tópicos anteriores, o que eu passei foram exemplos. Você deve adequar os nomes das variáveis. Ou seja, o nome que você adicionou aqui:
$var = $clientes[0]; //nome da variável $var
Deve ser o mesmo nome da variável que você utilizará aqui:
echo $cliente->n_resolucao; //nome da variável $cliente
>
11 minutos atrás, Gabriel Heming disse:
Entendi, esta forma ele funciona:
$clientes = $clientes[0];
Só que da erro nos campos abaixo, todos.
Aparece este erro:
**Notice**: Trying to get property of non-object in>
1 minuto atrás, Marcones Borges disse:
Só que da erro nos campos abaixo, todos.
Aparece este erro:
Notice: Trying to get property of non-object in
Resolvido, aqui estava
<?=$clientes->n_resolucao?>
quando era
<?=$cliente->n_resolucao?>Obrigado amigo, o erro foi solucionado, agora preciso que ele gere os números das linhas exemplo:
o Relatório abaixo ele me gerou 15 linhas preciso que ele numeri as linhas
01.
02.
03.
04.
05.
06.
07.
...
Conteudo migrado sem texto.
>
47 minutos atrás, Gabriel Heming disse:
Coloquei desta forma
<?php foreach($clientes AS $cliente=>$valor):?>
Deu esse erro:
Notice: Trying to get property of non-object in
mais gerou os números nas colunas...
A variável $client só existe dentro do escopo do foreach. O código que está dando erro está fora do foreach.