Hoe plaats ik gegevens uit een Database terug in een textarea van een formulier
Ik heb in een formulier voor de textarea gebieden of TinyMCE editor of InnovaStudio als editor gebruikt. (Ik heb beide geprobeerd zonder veel verschil) Bij het vullen van de pagina gaat alles goed. Ik vul de tekst in in het textarea veld en dat komt keurig in de database te staan. Nu heb ik ook een pagina waar ik de gegevens wil gaan aanpassen. Hiervoor wil ik de gegevens uit de database als value waarden terug plaatsen in de textarea (dus in de editor) om deze tekst te bewerken. Ik heb dit op verschillende manieren geprobeerd, maar tot nog toe zonder resultaat...
Is dit überhaupt mogelijk en zo ja op welke manier?
<?php
echo '<textarea name="bla">' . $tekst_uit_db . '</textarea>'
?>
Dat dacht ik ook, maar dan komt er geen tekst in de editor te staan...
Wat staat er als text in je database? Bestaat die code die je uit je database haalt uit php ? Want dan moet je eerst <? en ?> vervangen want anders past niet in textarea.
Ik denk dat we een even een stukje code van je nodig hebben voor er een echt zinnig antwoord gegeven kan worden. Vooral het stukje code van hoe je gegevens uit de database haalt.
Die code ziet er als volgt uit. In het 'datum'veld gaat het goed. De database koppelingen zouden dus goe moeten zijn.
In de HEAD staan de volgende regels:
<script language="javascript" type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode : "textareas"
});
</script>

Vervolgens heb ik deze code:

<?php $selected = "SELECT * FROM bureau WHERE bureau_id=2";
$line = mysql_query($selected);
$row = mysql_fetch_array($line);

while($pub = mysql_fetch_array($line)){
echo "<p><a href=\"BUREAU.php?bureau_id=2\">" . $pub['tekst'] . "</a></p>";
}

$bureau_id = $row['bureau_id'];
$tekst = $row['tekst'];
$datum = $row['datum'];
$afb = $row['foto'];

mysql_close();

echo '<form name="form1" id="pub" method="post" action="BUREAU.php" enctype="multipart/form-data">';
echo '<p>Invoer tekst</p>';
echo $row['tekst'].'<br />';
echo '<textarea name="tekst" id="tekst" cols="" rows"" />' . $row['tekst'] . '</textarea>';

echo '<p>Datum (jjjj-mm-dd)</p>';
echo '<input type="text" name="datum" id="datum" value="' . $datum . '"><br /><br />';
echo '<p>Foto<p>';
echo '<input type="file" name="foto" id="foto" value="'. $afb .'" /><br /><br />';
echo '<input style="background-color:#e4c08d" type="submit" name="action" id="edit" value="wijzig" />';

echo '</form>';
?>
Hoeveel records denk jij uit je database te halen met dit sql statement:
"SELECT * FROM bureau WHERE bureau_id=2"
Maar één. Het is een pagina waar alleen wat tekst en een foto op staan die aangepast moeten kunnen worden....
Precies, dat dacht ik al en daar gaat het dus mis. Je doet namelijk twee keer een fetch_array op je query resultaten, dus de tweede keer krijg je geen data meer terug.

Dus dit:
<?php
$row = mysql_fetch_array($line);

while($pub = mysql_fetch_array($line)){
echo "<p><a href=\"BUREAU.php?bureau_id=2\">" . $pub['tekst'] . "</a></p>";
}
$bureau_id = $row['bureau_id'];
$tekst = $row['tekst'];
$datum = $row['datum'];
$afb = $row['foto'];
?>

Zal je moeten veranderen in dit:
<?php
$row = mysql_fetch_array($line);

while($row = mysql_fetch_array($line)){
echo "<p><a href=\"BUREAU.php?bureau_id=2\">" . $row['tekst'] . "</a></p>";
$bureau_id = $row['bureau_id'];
$tekst = $row['tekst'];
$datum = $row['datum'];
$afb = $row['foto'];
}
?>
Ik heb dit geprobeerd waarbij ik ook de value waarde in het formulier heb aangepast naar de nieuw gemaakte variabele $tekst, $datum en $afb, maar nu wordt er helemaal geen veld meer ingevuld...
Dom van mij.... heb ik die eerste fetch er nog steeds in laten staan :-(
Bovenstaande moet dus zijn:
<?php
while($row = mysql_fetch_array($line)){
echo "<p><a href=\"BUREAU.php?bureau_id=2\">" . $row['tekst'] . "</a></p>";
$bureau_id = $row['bureau_id'];
$tekst = $row['tekst'];
$datum = $row['datum'];
$afb = $row['foto'];
}
?>

Reageren