Mit FCKEDITOR Html aus Datenbank holen und bearbeiten

psifactory

Erfahrenes Mitglied
Hi,

Wie schon im Thema beschrieben will ich mit dem FCKEDITOR aus meiner Datenbank Html Code holen und bearbeiten. Allerdings soll das ungefähr so dann ablaufen:

1.Login
2.Seite auswählen anhand einer Liste welche man Bearbeiten will
3.Nach Auswahl soll sich der Editor den passenden Code aus der DB holen
4.Nach dem Bearbeiten soll der Code wieder in der DB abgelegt werden.

Also ich denke dass ich Punkt 1 noch selbst hinbekomme aber die Punkte 2-4 stellen für mich ein Problem dar, da ich in Php noch recht wenig erfahrung habe. Hierfür bräuchte ich mal eure Hilfe wie ich da am Besten vorgehen sollte, bzw. vielleicht ein paar Beispiel Codes anhand denen ich dann verstehen kann was ich zu tun habe.

Grüsse Sebasitan

EDIT: Hab mir grad noch mal ein paar Gedanken gemacht. Ich müsste doch am Anfang eine Liste haben bei der man auswählt welche Seite man bearbeiten will. Dann müsste sich anhand dieser Auswahl php die gewünschte Datei aus der Datenbank in eine temporäre Datei laden die man dann mit dem Editor bearbeiten kann. Nach bearbeiten und Speicher müsste Php diese Datei wieder in die Datenbank laden. Wäre das richtig so? Wie würde ich so was dann anstellen?
 
Zuletzt bearbeitet:
Also ich bin jetzt soweit dass ich mithilfe eines aus der Datenbank ausgelesenen Dropdown Felds die Id des Feldes übergebe welches ich im FCKeditor bearbeiten will. Jetzt stellt sich für mich die Frage wie ich dieses anstelle!
 
Hallo,
einen einzelnen Datensatzt, kannst du ungefähr so abfragen:
SQL:
SELECT * FROM tabelle WHERE id = "1"
Für "1" musst du halt dann die ID, die von deinem Formular kommt einsetzen.
In PHP sollte es so funktionieren:
PHP:
<?php
    require('connect.php');
    
    $sql = 'SELECT * FROM tabelle WHERE id = "'.mysql_real_escape_string($_POST['id']).'"';
    $query = mysql_query($sql) or die(mysql_error());
    $ds = mysql_fetch_object($query);
    
    echo $ds->id;
?>

mfg
forsterm
 
Zuletzt bearbeitet:
OK, Danke erstmal für die Antwort. Bin leider noch nicht ganz so weit, weil meine Php Kenntnisse ziemlich low sind. Hab im Moment noch das Problem dass ich die Id aus dem Dropdown feld auf die Seite mit dem Editor übergeben will. Das schaut bei mir folgendermaßen aus

Dropdownfeldseite:

PHP:
<form method="POST" action="editor2.php" name="auswahlfeld">
<?php
    $abfrage = "SELECT * FROM `doc_desc` ORDER BY `id` ASC";
    $ergebnis = mysql_query($abfrage);
    
    echo '<select onchange="document.auswahlfeld.submit();" size="1" name="test">';
    
    while($row = mysql_fetch_object($ergebnis)){
        $cid = $row->c_id;
        $title = $row->title;
        echo '<option value="'.$cid.'">'.$title.'</option><br>';
    }
    
    echo ' </select>';
?>
</form>

Und zum abfragen auf der editorseite um festzustellen ob alles korrekt übergeben wird hab ich folgendes probiert:

PHP:
  <?php

echo $_POST['test']; 

?>

Jetzt krieg ich bloß nichts angezeigt sobald die Daten übergeben wurden. Versteh ich nicht ganz woran das liegt!

// edit 1

hm.. komisch.. ich hab nichts verändert aber jetzt gehts..

//edit2

Ok. Jetzt hab ich folgendes Problem. Ich weis nicht wie ich das machen soll dass er mir bei WHERE id=" den übergebenen Wert einsetzt, bzw. bin ich mir nicht 100% sicher was ich wo einsetzen muss!

Mein Code:

PHP:
  <?php
	require("secure/db.php");
    
	$id = $_POST['test'];
	 
	$sql = 'SELECT * FROM doc_text WHERE id = "'.mysql_real_escape_string($_POST['id']).'"';
    $query = mysql_query($sql) or die(mysql_error());
    $ds = mysql_fetch_object($query);
    
    echo $ds->id;
    

?>
// edit 3

Ok.. Hab grad gemerkt wie blöd ich bin! :-) Problem gelöst
 
Mach ich schon. Ich hab den Thread nur offen gelassen, falls ich noch mal irgendein Problem habe dass ich ihn verwenden kann und keinen neuen Thread aufmachen muss!
 
Du kannst einen als erledigt markierten Thread jederzeit fortsetzen, da er nicht geschlossen ist, und durch einen erneuten Klick auf den Button, den Status von "Erledigt" auf "Frage offen" wechseln.
 
OK. Sorry wusste ich nicht. :-)

Jetzt hab ich aber noch ein Problem. Ich hab den Editor komplett integriert. Allerdings habe ich bemerkt dass er sobald ich mir auf der 3.Seite noch mal den Quelltext zum Ansehen anzeigen lasse, macht er mir aus " ein \". Liegt das daran dass ich mir das ganze über echo $_POST anzeigen lasse oder liegt das am Editor? Wenns am Editor liegt hat wer ne Ahnung wie ich das abschalten kann?

Zu sehen hier http://www.sfk-ns.com/editor.php

Code von Editor1.php
PHP:
<form method="POST" action="editor2.php" name="auswahlfeld">
<?php
	require("secure/db.php") ;
    $abfrage = "SELECT * FROM `doc_desc` ORDER BY `id` ASC";
    $ergebnis = mysql_query($abfrage);
    
    echo '<select onchange="document.auswahlfeld.submit();" size="1" name="id">';
    
    while($row = mysql_fetch_object($ergebnis)){
        $cid = $row->c_id;
        $title = $row->title;
        echo '<option value="'.$cid.'">'.$title.'</option><br>';
    }
    
    echo ' </select>';
?>
</form>

Code aus Editor2.php

PHP:
  <?php
	 
	require("secure/db.php");
    
    $sql = 'SELECT * FROM doc_text WHERE id = "'.mysql_real_escape_string($_POST['id']).'"';
    $query = mysql_query($sql) or die(mysql_error());
    $ds = mysql_fetch_object($query);
    
    $input = $ds->text;
	 
	echo '<form action="editor3.php" method="post">';
	

	$oFCKeditor = new FCKeditor('input') ;
	$oFCKeditor->BasePath = '/fckeditor/';
	$oFCKeditor->Value = $input;	
	$oFCKeditor->Width  = '100%' ;
	$oFCKeditor->Height = '500' ;	
	$oFCKeditor->Create() ;

	
	echo '<br><input type="submit" value="Submit"></form>'
?>

Code aus Editor3.php
PHP:
<p>Voransicht:
<p>
<?php
echo $_POST['input']
?>
<p>

<p>
<p>
<p>
<p>Quelltext:
  
<p>
  <label>
  <textarea name="textarea" cols="120" rows="20">
    <?php
  
  echo $_POST['input'];
  
  ?>
  </textarea>
  </label>
</p>
 
Gut danke hat geklappt. Wie krieg ich jetzt die Werte wieder zurück in die Datenbank? Müsste ja eigentlich derselbe befehl wie oben sein bloß in umgekehrter weise! Und wie schaffe ich es die ID welche von editor1.php an editor2.php übergeben wurde wieder an editor3.php zu übergeben?
 
Zurück