Beste,

Ik ben bezig met een forum die ik later ook op PHPhulp zal posten als het af is.

Ik heb 2 tabellen onder elkaar staan.
In de bovenste tabel haal ik een bericht uit de db op.

http://img443.imageshack.us/img443/1034/naamloosuh9.jpg

hier staat een screenshot van hoe het er uit ziet. Nu wil ik het zo maken dat wanneer je op de hyperlink "Reageren" klikt, het originele bericht in het textarea komt te staan. Ik neem aan dat dit met JavaScript gebeurt maar helaas heb ik daar zeer weinig kennis van en hoop daarom dat jullie mij kunnen helpen.

showtopic.php
<?
session_start();
include('include/config.php');
include('include/functions.php');

if(!isset($_GET['cid'], $_GET['fid'], $_GET['tid']) || !is_numeric($_GET['cid']) || !is_numeric($_GET['fid']) || !is_numeric($_GET['tid']))
{
	header('Location: index.php');
}
else
{
	$cid = $_GET['cid'];
	$fid = $_GET['fid'];
	$tid = $_GET['tid'];
}

$sql = "SELECT * FROM topics WHERE id = ".$tid;
$res = mysql_query($sql);

$replys = "SELECT * FROM replys WHERE topic_id = ".$tid;
$replyd = mysql_query($replys);
?>

<html>
	<head>
	<link rel="stylesheet" type="text/css" href="../include/css/style.css">
		<title></title>
	</head>
<body>

<?
if($num = mysql_num_rows($res) >= 1)
{
	while($row = mysql_fetch_assoc($res))
	{
		$select = "SELECT * FROM leden WHERE UID = ".$row['user'];
		$result = mysql_query($select);
		$translate = mysql_fetch_array($result);
		
		$user = $translate['user'];
		$status = $translate['status'];
		
		echo '
			<table cellpadding="3" cellspacing="0">
				<tr>
					<td colspan="5" class="top">..:: '.$row[titel].'</td>
				</tr>
			</table>
			<table cellpadding="3" cellspacing="1">
				<tr>
					<td class="2" width="180px">Topic geplaatst door:</td>
					<td class="2" width="*%" align="right">Reageren - Nieuw Topic&nbsp;</td>
				</tr>
				<tr>
					<td width="180px" valign="top" class="2"><b>'.kleur_status($status,$user).'</b>Posts: '.$translate[posts].'<br /><br />'.$translate[ondertitel].'<br /><br /></td>
					<td valign="top" class="1" style="padding: 5px;">
					<img src="../include/img/b_n.gif">&nbsp;<b>'.$row[titel].'</b><br /><br />'.$row[bericht].'<br /><br /><table cellpadding="3" cellspacing="1"><tr><td align="right" class="2"><small>Meld spam - Profiel - Privébericht sturen - Quote - Bewerken&nbsp;</small></td></tr></table>
					</td>
				</tr>
			';
		while($reply = mysql_fetch_array($replyd))
		{
			$select2 = "SELECT * FROM leden WHERE UID = '".$reply['user']."'";
			$result2 = mysql_query($select2);
			$translate2 = mysql_fetch_array($result2);
			
			unset($user);
			unset($status);
			
			$user = $translate2['user'];
			$status = $translate2['status'];

			echo '
			<tr>
				<td valign="top" class="2"><b>'.kleur_status($status,$user).'</b>Posts: '.$translate2[posts].'<br /><br />'.$translate2[ondertitel].'<br /><br /></td>
				<td valign="top" class="1" style="padding: 5px;"><img src="../include/img/b_n.gif">&nbsp;<b>RE: '.$row[titel].'</b> ( <i>'. $reply[datum].'</i> )<br /><br /><div id="div_<?=$reply[id] ?>">'.$reply[bericht].'</div><br /><table cellpadding=3 cellspacing=1><tr><td align="right" class="2"><small>Profiel - Privébericht sturen - <a onclick="javascript:document.getElementById(\'bericht\').value+= \'[quote]'.$reply[bericht].'[/quote]\';" href="#">Quote</a> - Bewerken&nbsp;</small></td></tr></table></td>
			</tr>
			';
		}
		echo '
		</table>
	<br />
		<table cellpadding="3" cellspacing="1">
			<tr>
				<td colspan="2" class="top">Snel reageren!</td>
			</tr>
			';
			if($_SESSION['login'] == true && $_SESSION['timeout']>time())
			{
		echo '
			<tr>
				<td valign="top" class="2" width="180px">* Bericht</td>
				<td class="2"><textarea id="bericht" name="bericht" rows="8" style="width: 100%; overflow: auto;"></textarea></td>
			</tr>
		</table>
			';
			}
			else {
				echo '
				<tr><td style="text-align: center;">U dienst eerst in te loggen voordat u een bericht kunt posten!</td></tr>
				';
			}
	}
} else {
	echo '<b>Geen toegang!</b><br />U heeft geen toegang tot dit topic, dit kan verschillende oorzaken hebben:
	<ul>
		<li>U heeft geen rechten tot dit topic!</li>
		<li>Er is geen correct topic_id opgegeven!</li>
	</ul>
	Probeert u het nogmaals.
	';
}
?>

</body>
</html>

De code is niet compleet maar hier kunnen jullie als het goed alle informatie wel uithalen.

Mvg,

Erik
gwn.
Je vraagt het bericht die je wilt quoten (alsk je goed begrijp.) Op...

<?php
$posterbericht = $sql->door;
$huidigebericht = $sql->bericht;
echo "<textarea>
$posterbericht
$huidigebericht
</textarea>";
?>

Of is het niet de bedoeling om te quoten?
Bedoel je deze hyperlink in je code?
<?php
<a href="#">Reageren</a>
?>
nee dat is indd niet de bedoeling.

Je ziet op de screenshot een een textarea met daarboven "Snel reageren".
Boven het eerste bericht zie je een hyperlink met reageren. als je daar op klikt moet het originele bericht ( in dit geval: Voorbeeld bericht ) "gekopieerd" worden naar de tekstarea.
@ Jan,

die ja, had er maar ff een # van gemaakt.
@ Erik: kun je van die hyperlink dan niet beter zoiets maken:
<?php
echo '<a href="?reactie_op='.$bericht_id.'">Reageren</a>';
?>
waarbij $bericht_id het id is van bericht waarop gereageerd wordt? Dan laad je gewoon de pagina opnieuw in en via GET kun je dan de goeie tekst uit je DB halen, omdat je immers de id van het bericht hebt waar een reactie op moet komen.
Ja dat kan indd ook,

Maar ik hoopte op een mogelijkheid zonder dat ik de pagina opnieuw moest laden
Je kunt het wel met JavaScript doen, maar dan moet de tekst die je nodig hebt in een HTML element staan, bijv een div met een id. Zoiets:

<div id="reactie123">Dit is de tekst van reactie 123</div>

Als je het zo hebt, dan kan het.
hoe ik het nu heb, staat in m'n bovenste post.
ik begrijp je ook niet goed :(
Om de tekstwaarde met JavaScript op te kunnen halen, zou je zoiets moeten doen:

    var tekst = document.getElementById('reactie123').innerHTML;

Het element waar je tekst in staat, moet dus een id hebben, anders kan JavaScript de tekst niet ophalen. Dat element kan een div of een span zijn, dat maakt niet uit.
Het staat in een tabel en de informatie komt uit de database.
ik kan er wel een div omheen bouwen maar zo makkelijk is het vast niet :p

Reageren