Carregar texto para o tinymce. AJUDEM PLEASE!!!!!!!!!!!!!!!!!!!!!!

Fil__

Power Member
Pessoal eu tenho o editor de texto tinymce na minha pagina. Tenho a ligaçao a base de dados a funcionar. Eu escrevo no editor, gravo e fica na base de dados mysql. Quando vou ver o que escrevi aparece o texto na pagina mas o que pretendo mesmo é que o texto nao aparece na pagina mas sim no tinymce. Tal e qual como um CMS (Joomla por exemplo). Expliquei-me bem?
Alguem sabe como fazer? HELP!!! :005:
 
Pessoal eu tenho o editor de texto tinymce na minha pagina. Tenho a ligaçao a base de dados a funcionar. Eu escrevo no editor, gravo e fica na base de dados mysql. Quando vou ver o que escrevi aparece o texto na pagina mas o que pretendo mesmo é que o texto nao aparece na pagina mas sim no tinymce. Tal e qual como um CMS (Joomla por exemplo). Expliquei-me bem?
Alguem sabe como fazer? HELP!!! :005:

Como terás reparado, o tinymce é apenas um wrapper para uma <textarea></textare>. Se quiseres que o texto que vem da base de dados apareça lá tens de pór o resultado da query entre essas tags... do género <textarea><?php echo $row['texto']; ?></textarea>
 
Última edição:
Tenho este codigo para gravar na base de dados
Código:
<?php
$conexao = mysql_connect("****", "***", "***")
or die ("Erro na ligação à banco de dados.");
$db = mysql_select_db("****")
or die ("Erro ao selecionar a base de dados.");

$sql = "INSERT INTO paginas (texto) VALUES ('".$_POST['content']."')";

$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados.");
?>
e este e o que vai buscar mas nao consigo mesmo colocar a carregar dentro do tinymce.

Código:
<?php
$conexao = mysql_connect("****", "***", "***")
or die ("Erro na conexão à base de dados.");
$db = mysql_select_db("***")
or die ("Erro ao selecionar a base de dados.");

$sql = "SELECT * 
FROM paginas 
WHERE ver = '0' 
ORDER BY id DESC 
LIMIT 1000";

/*
 * executa e trata a consulta
 */
$resultado = mysql_query($sql) 
or die ("Não foi possível realizar a consulta");
if (@mysql_num_rows($resultado) == 1)
   die('Nenhum registro encontrado');
}

?>
<html>
<head>
<title>Noticias</title>
<link href="bread.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" src="crumb.js"></script>
<script language="javascript" type="text/javascript" src="***/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" src="editor.js"></script>
</head>
<body>
<div class="bread" id="bread"><script language="JavaScript">breadcrumbs();</script></div>
<br>
<form method="post" action="conteudo.php">
    <textarea name="content" cols="70" rows="15"><?php echo $texto;?></textarea>
    <input type="submit" value="Save" />
</form>
</body>
</html>
Podes ajudar-me no codigo?
 
O teu problema tem a ver com o código que está um pouco baralhado.

Atenção à query $sql que convém ter o id da página que queres consultar. O LIMIT 1000 ali não faz muito sentido e estás basicamente a puxar todas as páginas e não apenas uma.

Devias ter algo como SELECT * FROM paginas WHERE id='1234567';

Após fazeres $resultado=mysql_query($sql); convém veres se a página foi retornada. Se mysql_num_rows==0 (e não 1) é que a página não é encontrada.

Se mysql_num_rows for 1 então tens de "puxar" o registo com $pagina=mysql_fetch_array($resultado);
Agora sim podes fazer echo $pagina['campo_da_bd_que_tem_o_texto'];
 
Eh pah.... :005: Eu nao consigo. Ja experimentei de tudo, com voltas e mais voltas no codigo (graças as dicas aqui do pessoal) mas continuo a nao conseguir carregar o texto que gravo dentro do tinymce. Nao entendo no que tou a falhar mas ja tou no desespero por isso...
AJUDEM PLEASE!!!
 
Eh pah.... :005: Eu nao consigo. Ja experimentei de tudo, com voltas e mais voltas no codigo (graças as dicas aqui do pessoal) mas continuo a nao conseguir carregar o texto que gravo dentro do tinymce. Nao entendo no que tou a falhar mas ja tou no desespero por isso...
AJUDEM PLEASE!!!

Seguiste os passos que o DanielGomes te indicou?

Coloca aqui o último código que tentaste. No código que tens uns posts acima (além dos pormenores que o DanielGomes te indicou) tens por ex isto:
PHP:
<textarea name="content" cols="70" rows="15"><?php echo $texto;?></textarea>

Mas repara que nunca atribuiste um valor à variável $texto, terias de ter algo do tipo (depois de te certificares de que existe o registo pretendido e estás a buscar correctamente a informação à tabela):
PHP:
$texto=$pagina["texto"];
 
p3dro eu ja mexi no codigo mas como nao conseguia voltei a este que esta aqui exposto para que me possam auxilar porque tou completamente perdido. A unica diferença é esta
Código:
$sql = "SELECT * FROM paginas WHERE id='23'";

Podem ajudar-me? :005:
 
p3dro eu ja mexi no codigo mas como nao conseguia voltei a este que esta aqui exposto para que me possam auxilar porque tou completamente perdido. A unica diferença é esta
Código:
$sql = "SELECT * FROM paginas WHERE id='23'";

Podem ajudar-me? :005:

Bem, eu diria que isto deverá funcionar (pelo memos teoricamente :p)

PHP:
<?php
$conexao = mysql_connect("****", "***", "***")
or die ("Erro na conexão à base de dados.");
$db = mysql_select_db("***")
or die ("Erro ao selecionar a base de dados.");

$sql = "SELECT texto FROM paginas WHERE id='23'";

/*
 * executa e trata a consulta
 */
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta");

if (mysql_num_rows($resultado) == 0){
   die('Nenhum registro encontrado');
}
else{
  $myrow=mysql_fetch_assoc($resultado);
  $texto=$myrow["texto"];
}
mysql_free_result($resultado);
mysql_close($conexao);
?>

Depois na textarea fica igual ao que já está

PHP:
<textarea name="content" cols="70" rows="15"><?php echo $texto;?></textarea>

Vê se funciona desta maneira.
 
p3dro BRIGADAO, deu sim senhora. Outra duvida que surgiu é, agora ao carregar o texto (que ja faz graças a ti hehe) como e que posso alterar esse texto e gravar? Tera que ser outro comando de sql ou sera codigo php a parte? Brigadao de qualquer modo amigo (e a todos os outros que me ajudaram)
 
p3dro BRIGADAO, deu sim senhora. Outra duvida que surgiu é, agora ao carregar o texto (que ja faz graças a ti hehe) como e que posso alterar esse texto e gravar? Tera que ser outro comando de sql ou sera codigo php a parte? Brigadao de qualquer modo amigo (e a todos os outros que me ajudaram)

Para actualizar pode ser semelhante ao código que já tinhas num post anterior:

PHP:
<?php
$conexao = mysql_connect("****", "***", "***")
or die ("Erro na ligação à banco de dados.");
$db = mysql_select_db("***")
or die ("Erro ao selecionar a base de dados.");

$id=$_POST["id"];
$text=mysql_real_escape_string($_POST["content"]);

if(!is_numeric($id) || $id<1){ //novo registo, inserir
  $sql = "INSERT INTO paginas (texto) VALUES ('$text')";  
}
else{ //actualizar registo
  $sql="Update paginas Set texto='$text' Where id='$id'";
}

$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados.");

mysql_close($conexao);
?>

Na instrução SQL onde vais preencher a textarea tens lá um valor hard-coded o " .... id='23' ...", claro que depois não vais poder ter dessa maneira, senão vais estar sempre a editar o mesmo registo. Uma solução será passares esse valor num hidden field, que é como exemplifiquei no código em cima: " ... $id=$_POST["id"]; ... ".

Resumidamente o código poderia ficar desta maneira:

Para preencher a textarea:

PHP:
<?php
$conexao = mysql_connect("****", "***", "***")
or die ("Erro na conexão à base de dados.");
$db = mysql_select_db("***")
or die ("Erro ao selecionar a base de dados.");

$id=$_REQUEST["id"];
if(!is_numeric($id) || $id<1) die ("id inválido");
$sql = "SELECT texto FROM paginas WHERE id='$id'";

/*
 * executa e trata a consulta
 */
$resultado = mysql_query($sql)
or die ("Não foi possível realizar a consulta");

if (mysql_num_rows($resultado) == 0){
   die('Nenhum registro encontrado');
}
else{
  $myrow=mysql_fetch_assoc($resultado);
  $texto=$myrow["texto"];
}
mysql_free_result($resultado);
mysql_close($conexao);
?>

Preencher os campos do formulário (a alteração é adicionares o tal hidden field)
PHP:
<textarea name="content" cols="70" rows="15"><?php echo $texto;?></textarea> 
<input type="hidden" name="id" value="<?php echo $id;?>">

Para actualizar a informação na BD:
PHP:
<?php
$conexao = mysql_connect("****", "***", "***")
or die ("Erro na ligação à banco de dados.");
$db = mysql_select_db("***")
or die ("Erro ao selecionar a base de dados.");

$id=$_POST["id"];
$text=mysql_real_escape_string($_POST["content"]);

if(!is_numeric($id) || $id<1){ //novo registo, inserir
  $sql = "INSERT INTO paginas (texto) VALUES ('$text')";  
}
else{ //actualizar registo
  $sql="Update paginas Set texto='$text' Where id='$id'";
}

$sql = mysql_query($sql)
or die ("Houve erro na gravação dos dados.");

mysql_close($conexao);
?>
 
Brigadao p3dro, aprendi um bom bocado de sql e php com estas tuas dicas. Se entretanto esbarrar com a corneta em mais alguma cena deixo aqui um post. Brigadao amigo
 
Back
Topo