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
Als je er een divje omheen bouwt met een uniek id (bijvoorbeeld het id van de reply) dan kan ik je weer verder helpen.

<div id="<?=$row['id'] ?>">
</div>

zo is het, het ID van het topic. kan het vanaf dat punt ook?
Nee dat gaat niet lukken, want dan krijgen alle reply's hetzelfde id. Ze moeten uniek zijn.

<div id="<?=$reply['id'] ?>">
</div> 

dan wordt het zo, de ID's van de replys
Even opletten: de naam van een id mag geloof ik niet met een getal beginnen. Het zou dus zoiets moeten zijn:

<?php
<div id="div_<?=$reply['id'] ?>">
</div>
?>

Een werkend voorbeeld ziet er dan zo uit:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
	<title>De HTML in een div kopieren naar een textarea</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<script type="text/javascript">
	function kopieer (src, dst) {
		document.getElementById(dst).value = document.getElementById(src).innerHTML;
	}
	</script>
</head>

<body>
	<div id="div_123"><p>Dit is het tekstje van de div</p></div>
	<p><textarea id="my_textarea" name="my_textarea"></textarea></p>
	<p><a href="javascript:kopieer('div_123', 'my_textarea');">reageren</a></p>
</body>
</html>
ik ga even knutselen :)
Okee, ik hoop dat het lukt! :-)
regel 58 tot 62 veranderd.
regel 112 veranderd.
en regel 129 veranderd.

maar het werkt nog niet :(
bij IE staat linksonderin javascript fout tekentje met gereed erachter.

script is aangepast in mijn eerste post zoals het nu is.
[offtopic]
Hey Erik!

Is het niet beter als:
<?php
if(isset($_GET['cid']))
{
if(!is_numeric($_GET['cid']))
{
header('Location: index.php');
}
else {
$cid = $_GET['cid'];
}
}
else {
header('Location: index.php');
}

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

if(isset($_GET['tid']))
{
if(!is_numeric($_GET['tid']))
{
header('Location: index.php');
}
else {
$tid = $_GET['tid'];
}
}
else {
header('Location: index.php');
}
?>
bovenstaande ingekort wordt naar dit hieronder
<?php
// Bestaat; cid, fid, tid, en zijn ze een getal
if(!isset($_GET['cid'], $_GET['fid'], $_GET['tid']) || !is_numeric($_GET['cid']) || !is_numeric($_GET['fid']) || !is_numeric($_GET['tid']))
{
// Niet alles klopt
header('Location: index.php');
}
else
{
// Je vars bijwerken
$cid = $_GET['cid'];
$fid = $_GET['fid'];
$tid = $_GET['tid'];
}
?>
[/offtopic]
En ik heb misschien nog een manier voor je,
geef me ff 5 minuten om te proberen
ja dat zijn weer minder regeltjes he :p

oke bedankt :)
ik ben ook nog steeds bezig maar ik kan aan de hand van Jan z'n voorbeeld mijn fout niet vinden...

Reageren