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>
Annonceindlæg fra Novataris
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.
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.
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>
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>
Viser desværre heller intet.
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?
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å :)
Er det nemmere med den nye ckeditor? Det er jo så helt andre koder, men måske du har kendskab til den også.
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.
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.
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'] . ""; } ?>
05. juni 2011 - 15:55
#12
Prøv lige og tjekke din tabel. Det lugter lidt af, at du har flere poster.
05. juni 2011 - 15:59
#13
I tabellen tilbud har jeg id - image - content.
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?
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.
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.
05. juni 2011 - 16:14
#17
Hvilket ID'nr. har den? Det kan du se, hvis du prøver kode-forslaget i "15
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>
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>"; } ?>
05. juni 2011 - 16:18
#20
#18. Det er fordi du udskriver indholdet med print $row['content'] . "";
05. juni 2011 - 16:21
#21
ja, men hvad skal jeg ellers skrive?
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>
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.
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.
05. juni 2011 - 16:40
#25
Højden kan du i øvrigt styre med: $oFCKeditor2->Height= 300 ;
05. juni 2011 - 16:40
#26
Det gør jeg heller ikke, har aldrig fattet meningen med det. Men du har fortjent dem.
05. juni 2011 - 16:41
#27
Højde og bredde kan jeg fint ændre i fckeditor, er kun baggrundsfarven der bare ikke vil ændres.
05. juni 2011 - 16:58
#28
svar
Vi tilbyder markedets bedste kurser inden for webudvikling