Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabricio Alves da Cunha

Inserir variáveis no mysql usando o ckeditor

Recommended Posts

Estou desenvolvendo um pequeno sistema de alunos, e no cadastro de "Contratos", uso o editor ckeditor, e preciso colocar as variáveis do banco ex:

 

<? echo $linha->NOM_ALU; ?> - Essa variável irá mostrar o nome do aluno

 

Então ao editar o contrato em vez de colocar os nomes das pessoas, tem que ser colocado as variáveis, e no arquivo de imprimircontrato.php traz as informações contidas no banco mysql.

 

Meu problema e que não estou conseguindo enviar esta variável e fazer a leitura, alguem pode me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo explique detalhadamente e se possivel cole seu atual código pois pelo que você colocou ai em cima deu nem pra ter ideia do que tu quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Insira desta forma

 

O Lorem Ipsum é um texto modelo da indústria, $linha->NOM_ALU mas também o salto para a tipografia electrónica, mantendo-se essencialmente inalterada...

ou concatena com os dados

O Lorem Ipsum é um texto modelo da indústria " .$linha->NOM_ALU . " tipográfica e de impressão. O Lorem Ipsum tem vindo a ser o texto ...

Ou usar sprintf

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Wduarte, se eu enviasse ao mysql, %%NOM_ALU%%. Como ficaria a minha query para fazer esta leitura do banco?



Insira desta forma

 

O Lorem Ipsum é um texto modelo da indústria, $linha->NOM_ALU mas também o salto para a tipografia electrónica, mantendo-se essencialmente inalterada...

ou concatena com os dados

O Lorem Ipsum é um texto modelo da indústria " .$linha->NOM_ALU . " tipográfica e de impressão. O Lorem Ipsum tem vindo a ser o texto ...

Ou usar sprintf

Olá Wduarte, se eu enviasse ao mysql, %%NOM_ALU%%. Como ficaria a minha query para fazer esta leitura do banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, o que eu fiz um tempo atrás... "criei uma metodologia" de postagem.

 

Usava o CKEditor em um sistema de E-mail Marketing. Aonde eu gostaria que aparecesse o e-mail do contato, eu trocava por um conjunto de caracteres que seria trocado posteriormente. Ex: <-email->

 

No código que exibiria o conteúdo, eu localizava via str_replace onde tinha <-email-> e trocava por $linha->NOM_ALU.

 

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte me explique melhor:

 

Eu insiro no ckeditor o texto blablablablablablab e neste texto eu informo as variaveis ex:

 

Meu nome é: <-NOM_ALU->

 

No arquivo de impressão do contrato do aluno ele vai ler

Meu nome é: Valéria Campos

 

Nào consegui aplicar o str_replace nesta situação. você tem um exemplo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, no arquivo de impressão, suponho que isso esteja dentro de uma variável, certo?

 

Exemplo bem simples:

<?php

$varNome = "José Maria"; // Vem do banco, faça como preferir
$varTexto = "Olá, meu nome é <-NOME->";

echo str_replace("<-NOME->", $varNome, $varTexto);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maykel, utilizando o ckeditor não está dando certo infelizmente, não teria uma outra maneira de fazer isso? por exemplo:

 

Em muitas aplicações php que já vi, você insere o valor dá variável com duas %, ex: %%NOM_ALU%%, daí na hora de imprimir na tela ela traz o valor da variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como o CKEditor está tratando o código? Tente trocar por %%VARIAVEL%%. Acho que na verdade, você não está entendendo como funciona o procedimento ou o HTML está sendo convertido por caracteres especiais:

 

- No CKEditor, você vai postar a variável com %%VARIAVEL%%. Garanta que ela chegará assim ao banco de dados, sem converter em caracteres especiais.

- Na página de impressão, procure onde tem o %%VARIAVEL%% e troque pela variável que desejar utilizando str_replace.

 

Não vejo outra forma mais simples. Qualquer coisa, poste seu código.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maykel consegui fazer aqui, ficou o seguinte o arquivo de impressão:

 

$sql = "SELECT * FROM s_cad_aluno WHERE COD_ALU='$COD_ALU' ";
$limite = mysql_query($sql);
while($linha = mysql_fetch_object($limite)) {
$varNome = $linha->NOM_ALU;
$sql2 = "SELECT * FROM s_cad_documento WHERE COD_DOC='$COD_DOC'";
$limite2 = mysql_query($sql2);
while($linha2 = mysql_fetch_object($limite2)) {
$varTexto = $linha2->DES_DOC;
echo str_replace("%%NOM_ALU%%", $varNome, $varTexto);
}
}
Agora outro detalhe: Eu preciso inserir mais de uma variável, pois se trata de um contrato, serão em torno de umas 30 ou mais variáveis, como ficaria o código.
Ex da variáveis:
%%NOM_ALU%%
%%ENDERECO%%
%%CIDADE%%
etc...
Como posso colocá-las todas elas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que deu certo! Não se esqueça de setar minha resposta como RESPONDIDO e me dar uma pontuação!

 

Sobre sua nova dúvida, acho ideal você botar todas suas variáveis em um array, e fazer um foreach deste array, colocando o str_replace dentro, trocando a variável pelo índice do ponteiro!

Compartilhar este post


Link para o post
Compartilhar em outros sites


// PHP 5.3

// --- TROQUE PELOS NOMES DAS COLUNAS DO RESULTSET

// PLACEHOLDERS -> @{nome_da_coluna}

 

 

$html = <<<HTML

Olá @{nome}!

Seja bem vindo ao nosso site!

O e-mail que você utilizou no cadastro é @{email}.

 

Atenciosamente,

Admin

HTML;

 

 

$rs = mysql_query("SELECT * FROM tabela LIMIT 2");

 

while($row = mysql_fetch_assoc($rs)) {

$msg = preg_replace_callback('/@\{(\w+)\}/', function($m) use ($row) {

return $row[$m[1]];

}, $html);

 

echo $msg;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Maykel, você poderia por favor montar o exemplo com o código que eu postei acima!

Estou tendo dificuldades, grato!



Maykel agradeço a sua atenção consegui aqui:

 

ficou o seguinte:

 

<?
$sql = "SELECT * FROM s_cad_aluno WHERE COD_ALU='$COD_ALU' ";
$limite = mysql_query($sql);
while($linha = mysql_fetch_object($limite)) {
$varNome = $linha->NOM_ALU;
$varRg = $linha->RG_ALU;
$varNomeVariaveis = array($varNome, $varRg); // Basta adicionar a quantidade necessária
$varVariaveis = array("%%NOM_ALU%%","%%RG_ALU%%"); // Basta adicionar a quantidade necessária
$sql2 = "SELECT * FROM s_cad_documento WHERE COD_DOC='$COD_DOC'";
$limite2 = mysql_query($sql2);
while($linha2 = mysql_fetch_object($limite2)) {
$varTexto = $linha2->DES_DOC;
echo str_replace($varVariaveis, $varNomeVariaveis, $varTexto);
}
}
?>
E a todos que de alguma forma contribuiu com este tópico, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.