Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, tudo bem ?
Estou com um pequeno problema que não sei como resolver e acredito que seja fácil...
Tenho um MODELO DE CONTRATO armazenado em banco de dados, e ao imprimir ele as variáveis contidas nele não estão sendo exibidas.
Segue um exemplo abaixo:
CONTRATO (ARMAZENADO NO BANCO DE DADOS)
>
Citar
Parágrafo Primeiro – A prestação desses serviços terá início em {$inicio_aulas}/{$ano} e término em {$fim_aulas}/{$ano}
Meu código:
$busca_contrato = "SELECT * FROM config";
$result00 = $My->query($busca_contrato);
$row00 = $result00->fetch_assoc();
$inicio_aulas = $row00["inicio_aulas"];
$fim_aulas2 = $row00["fim_aulas"];
$fim_aulas_barrobranco = $row00["fim_barrobranco"];
$ano = $row00["ano"];
$contrato = $row00['contrato'];
Quero que ao exibir o contrato as variáveis acima sejam adicionadas nele, ficando dessa forma:
>
Citar
Parágrafo Primeiro – A prestação desses serviços terá início em 05/03/2018 e término em 16/12/2018
Tento exibir e não consigo, tentei alterar o que está armazenado no banco com {$inicio_aulas} para <?php echo $inicio_aulas ?> ou para <?= $inicio_aulas ?>, mas ainda não obtive exito.
Espero que tenham entendio e obrigado desde já!
>
12 horas atrás, ygor.anjos disse:
Oque é exibido quando você executa o código?
faça u var_dump na varialvel que retorno do banco: <?php var_dump($row00); ?>
As variáveis estão sendo retornadas, mas quando eu dou echo no $contrato as variaveis contidas dentro de $contrato não são exibidas... ou melhor, não são reconhecidas...posta um print do erro que esta dando, fica mais facil para ajudar.
insira esse código na pagina para habilitar a exibição dos erros
ini_set('display_errors',1);
ini_set('display_startup_erros',1);
error_reporting(E_ALL);Isso ta acontecendo pq você ta armazenando o nome da variável junto com o contrato no seu banco, aí o banco vai interpretar $nomedavariavel como texto e não como variável.
O certo seria você fazer algo assim:
$busca_contrato = "SELECT * FROM config";
$result00 = $My->query($busca_contrato);
$row00 = $result00->fetch_assoc();
$inicio_aulas = $row00["inicio_aulas"];
$fim_aulas2 = $row00["fim_aulas"];
$fim_aulas_barrobranco = $row00["fim_barrobranco"];
$ano = $row00["ano"];
$contrato = "A prestação desses serviços terá início em {$inicio_aulas}/{$ano} e término em {$fim_aulas}/{$ano}";
Perceba que alterei apenas a variável $contrato, ao invés de você puxar o texto do contrato via banco, você armazena todo o contrato na variável $contrato e vai colocando as variáveis onde elas devem ficar no texto do contrato.
Testa aí e vê se vai agora.>
4 horas atrás, BrunoMs disse:
Isso ta acontecendo pq você ta armazenando o nome da variável junto com o contrato no seu banco, aí o banco vai interpretar $nomedavariavel como texto e não como variável.
O certo seria você fazer algo assim:
$busca_contrato = "SELECT * FROM config";
$result00 = $My->query($busca_contrato);
$row00 = $result00->fetch_assoc();
$inicio_aulas = $row00["inicio_aulas"];
$fim_aulas2 = $row00["fim_aulas"];
$fim_aulas_barrobranco = $row00["fim_barrobranco"];
$ano = $row00["ano"];
$contrato = "A prestação desses serviços terá início em {$inicio_aulas}/{$ano} e término em {$fim_aulas}/{$ano}";
Perceba que alterei apenas a variável $contrato, ao invés de você puxar o texto do contrato via banco, você armazena todo o contrato na variável $contrato e vai colocando as variáveis onde elas devem ficar no texto do contrato.
Testa aí e vê se vai agora.
Assim da certo, o problema que eu queria uma forma de pelo painel de administração que eu desenvolvi fazer alterações no contrato... Teria algum jeito sem o contrato estar no banco de dados ??voce pode usar:
$paragrafoPrimeiro = "A prestação desses serviços terá início em %inicio_aulas%/%ano% e término em %fim_aulas%/%ano% ";
$vars = array();
$vars['%inicio_aulas%'] = $inicio_aulas;
$vars['%fim_aulas%'] = $fim_aulas2;
$vars['%ano%'] = $ano;
$vars['%fim_aulas_barrobranco%'] = $fim_aulas_barrobranco;
foreach ($vars as $id=> $var){
$paragrafoPrimeiro = str_replace($id, $var, $paragrafoPrimeiro);
}
o contrato você pode salvar no banco e onde você quiser coloca as informações coloca entre %, coloquei na variavel só pra testar>
29 minutos atrás, ygor.anjos disse:
voce pode usar:
$paragrafoPrimeiro = "A prestação desses serviços terá início em %inicio_aulas%/%ano% e término em %fim_aulas%/%ano% ";
$vars = array();
$vars['%inicio_aulas%'] = $inicio_aulas;
$vars['%fim_aulas%'] = $fim_aulas2;
$vars['%ano%'] = $ano;
$vars['%fim_aulas_barrobranco%'] = $fim_aulas_barrobranco;
foreach ($vars as $id=> $var){
$paragrafoPrimeiro = str_replace($id, $var, $paragrafoPrimeiro);
}
o contrato você pode salvar no banco e onde você quiser coloca as informações coloca entre %, coloquei na variavel só pra testar
ERA ISSO QUE EU PRECISAVA AMIGO!
Muito Obrigado!
Oque é exibido quando você executa o código?
faça u var_dump na varialvel que retorno do banco: <?php var_dump($row00); ?>