Avatar billede frulilla Nybegynder
05. juni 2011 - 10:50 Der er 27 kommentarer og
1 løsning

FCKeditor skal vise nuværende tekst fra databasen.

Så har I mig at bøvle med igen.

Jeg har min FCKeditor, som når man skriver en tekst, gemmer i min mysql database. Det virker fint nok. Men jeg vil gerne have, at når man åbner siden med fckeditoren, så står den nuværende tekst allerede i editor boksen. Så man kan redigere i teksten.

Hvordan sætter jeg det ind, så den henter det fra databasen?



Min form med fckeditor:

<form action="" method="POST">
  <?php
  $oFCKeditor2 = new FCKeditor('FCKeditor2') ;
  $oFCKeditor2->BasePath = '/fckeditor/' ;
  $oFCKeditor2->Value = 'FCKcontent';
  $oFCKeditor2->Create($content) ;
  ?>
  <input type="submit" name="submit" value="submit">
   
  <?php

  if($_POST[submit]) {
  $sql = "UPDATE tilbud SET content = '$FCKeditor2'";
  $result = mysql_query($sql);

echo "Beskeden blev nu gemt!";
echo "<br/><br/>";
}
?>
</form>
Avatar billede NielsErikP Mester
05. juni 2011 - 11:28 #1
Hej..
Ikke den store erfaring i PHP/Javscript.
Et forslag ville være at lave det der henter teksten til en funktion.. og så kalde den i "onload" i <body> tagget.
Hvis jeg er helt ved siden af må du bare glemme min ide, det var bare en tanke.
Avatar billede nemlig Professor
05. juni 2011 - 11:29 #2
Du skal jo først hente indholdet fra MySQL med en Select:

$sql = "SELECT `content` FROM `tilbud`";

og derefter rette:

$oFCKeditor2->Value = 'FCKcontent';

til

$oFCKeditor2->Value = $row['content']; //eller hvad du kalder nu kalder din SQL-variabel.
Avatar billede frulilla Nybegynder
05. juni 2011 - 11:53 #3
Så ser min form sådan ud, men den viser stadig intet i editoren:


<form action="" method="POST">
  <?php
  $sql = "SELECT 'content' FROM 'tilbud'";
  $oFCKeditor2 = new FCKeditor('FCKeditor2') ;
  $oFCKeditor2->BasePath = '/fckeditor/' ;
  $oFCKeditor2->Value = $row['content'];
  $oFCKeditor2->Create($content) ;
  ?>
  <input type="submit" name="submit" value="submit">
   
  <?php

  if($_POST[submit]) {
  $sql = "UPDATE tilbud SET content = '$FCKeditor2'";
  $result = mysql_query($sql);

echo "Beskeden blev nu gemt!";
echo "<br/><br/>";
}
?>
</form>
Avatar billede nemlig Professor
05. juni 2011 - 13:22 #4
Prøv:

<form action="" method="POST">
  <?php
 
  $sql = "SELECT 'content' FROM 'tilbud'";
  $result = mysql_query($sql);
  $row = mysql_fetch_assoc($result);

$oFCKeditor2 = new FCKeditor('FCKeditor2') ;
  $oFCKeditor2->BasePath = '/fckeditor/' ;
  $oFCKeditor2->Value = $row['content'];
  $oFCKeditor2->Create($content) ;
  ?>
  <input type="submit" name="submit" value="submit">
   
  <?php

  if($_POST[submit]) {
  $sql = "UPDATE tilbud SET content = '$FCKeditor2'";
  $result = mysql_query($sql);

echo "Beskeden blev nu gemt!";
echo "<br/><br/>";
}
?>
</form>
Avatar billede frulilla Nybegynder
05. juni 2011 - 13:57 #5
Viser desværre heller intet.
Avatar billede nemlig Professor
05. juni 2011 - 14:20 #6
Det handler blot om at hente indholdet af 'content' ud af din tabel, der hedder 'tilbud'.

Jeg kan ikke se, om du connecter korrekt til din database, da koden ikke er vist.
Er du sikker på, at denne del virker?
Avatar billede frulilla Nybegynder
05. juni 2011 - 15:21 #7
Den uploader jo fint nok, når jeg skriver noget. Så det burde jo være i orden.

Så det undrede også mig, men troede jeg gjorde noget forkert - ja gør jeg jo nok også :)
Avatar billede frulilla Nybegynder
05. juni 2011 - 15:22 #8
Er det nemmere med den nye ckeditor? Det er jo så helt andre koder, men måske du har kendskab til den også.
Avatar billede nemlig Professor
05. juni 2011 - 15:31 #9
Du skal jo gerne kunne lave en forespørgsel, og hvis det lykkedes, så er det jo ret enkelt at få det til at virke med FCKeditor.

Prøv lige om du kan lave en forspørgsel og udskrive resultatet.
Indsæt dette i din kode i stedet for ovennævnte:

<?php
$sql = "SELECT 'content' FROM 'tilbud'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row['content'];
?>

Ovennævnte skal du have til at virke først, og har du det på plads, så er resten enkelt.
Avatar billede frulilla Nybegynder
05. juni 2011 - 15:48 #10
Se det ville den ikke, så kommer der intet ud. Jeg har sendt hele koden i en privat besked til dig.
Avatar billede frulilla Nybegynder
05. juni 2011 - 15:50 #11
Sætter jeg følgende ind i stedet for, viser den det den skal

<?
$res = mysql_query("SELECT content FROM tilbud");
while ($row = mysql_fetch_array($res)){
print $row['content'] . "";
}
?>
Avatar billede nemlig Professor
05. juni 2011 - 15:55 #12
Prøv lige og tjekke din tabel. Det lugter lidt af, at du har flere poster.
Avatar billede frulilla Nybegynder
05. juni 2011 - 15:59 #13
I tabellen tilbud har jeg id - image - content.
Avatar billede nemlig Professor
05. juni 2011 - 16:02 #14
Ja du har flere felter, men har du flere poster?

Du bør kun have én post - hvis flere, så skal vi have en WHERE på både din SELECT og din UPDATE.

Giv lige en melding på, om der er flere poster. Umiddelbart mener jeg, at du kun skal have én. Hvis det er meningen, at du skal have flere poster, hvilket ID nr. skal så opdateres?
Avatar billede nemlig Professor
05. juni 2011 - 16:09 #15
Hvis du er i tvivl om der er flere felter, så prøve at rette koden i #11 til :

<?
$res = mysql_query("SELECT content FROM tilbud");
while ($row = mysql_fetch_array($res)){
print $row['id']."<br>";
}
?>

Denne koder udskriver ID nr. på alle dine poster.
Avatar billede frulilla Nybegynder
05. juni 2011 - 16:12 #16
Nej der er kun en og skal der også være. Det er jo meningen at den skal opdateres hele tiden. Og jeg kan bestemt kun se en i min database.
Avatar billede nemlig Professor
05. juni 2011 - 16:14 #17
Hvilket ID'nr. har den? Det kan du se, hvis du prøver kode-forslaget i "15
Avatar billede frulilla Nybegynder
05. juni 2011 - 16:14 #18
Hvis jeg sætter det ind som det her, viser den det fint, men det står ikke i textareaet, men ovenover:




<form action="" method="POST">
  <?php
$res = mysql_query("SELECT content FROM tilbud");
while ($row = mysql_fetch_array($res)){
print $row['content'] . "";
}


  $oFCKeditor2 = new FCKeditor('FCKeditor2');
  $oFCKeditor2->BasePath = '/fckeditor/';
  $oFCKeditor2->Value =$row['content'];
  $oFCKeditor2->Create($content);
  ?>
  <input type="submit" name="submit" value="submit">
 
  <?php

  if($_POST[submit]) {
  $sql = "UPDATE tilbud SET content = '$FCKeditor2'";
  $result = mysql_query($sql);

echo "Beskeden blev nu gemt!";
echo "<br/><br/>";
}
?>
</form>
Avatar billede nemlig Professor
05. juni 2011 - 16:15 #19
Hov - sorry. Koden skal lige være lidt anderledes, når du skal tjekke ID.nr.

<?
$res = mysql_query("SELECT * FROM tilbud");
while ($row = mysql_fetch_array($res)){
print $row['id']."<br>";
}
?>
Avatar billede nemlig Professor
05. juni 2011 - 16:18 #20
#18. Det er fordi du udskriver indholdet med

print $row['content'] . "";
Avatar billede frulilla Nybegynder
05. juni 2011 - 16:21 #21
ja, men hvad skal jeg ellers skrive?
Avatar billede nemlig Professor
05. juni 2011 - 16:28 #22
Det er SELECT-koden, der driller. Prøv lige denne her kode:

<form action="" method="POST">
  <?php
 
$result = mysql_query("SELECT * FROM tilbud") or die(mysql_error()); 
$row = mysql_fetch_array( $result );

$oFCKeditor2 = new FCKeditor('FCKeditor2') ;
  $oFCKeditor2->BasePath = '/fckeditor/' ;
  $oFCKeditor2->Value = $row['content'];
  $oFCKeditor2->Create($content) ;
  ?>
  <input type="submit" name="submit" value="submit">
   
  <?php

  if($_POST[submit]) {
  $sql = "UPDATE tilbud SET content = '$FCKeditor2'";
  $result = mysql_query($sql);

echo "Beskeden blev nu gemt!";
echo "<br/><br/>";
}
?>
</form>
Avatar billede frulilla Nybegynder
05. juni 2011 - 16:34 #23
Pyha en lang tråd det blev MEN NU VIRKER DET!

Tusind tak for hjælpen - hvis du også lige vil smide et svar ;)


Nu er det da kun baggrunden i selve editoren der skal have en anden farve, men er vist en helt anden tråd.
Avatar billede nemlig Professor
05. juni 2011 - 16:35 #24
Sorry - det var min skyld, at den blev lang, da min Select ikke var helt korrekt.
Jeg samlet ikke point - så smidt et svar selv.
Avatar billede nemlig Professor
05. juni 2011 - 16:40 #25
Højden kan du i øvrigt styre med:

$oFCKeditor2->Height= 300 ;
Avatar billede frulilla Nybegynder
05. juni 2011 - 16:40 #26
Det gør jeg heller ikke, har aldrig fattet meningen med det. Men du har fortjent dem.
Avatar billede frulilla Nybegynder
05. juni 2011 - 16:41 #27
Højde og bredde kan jeg fint ændre i fckeditor, er kun baggrundsfarven der bare ikke vil ændres.
Avatar billede frulilla Nybegynder
05. juni 2011 - 16:58 #28
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester