Estoy haciendo un foro en el cual pueden hacerse las respuestas.
Tengo 2 tablas uno de que es el de topics donde se guardan los temas y otro replies donde se guardan las respuestas con el id del tema(topic).
El codigo donde muestra el tema es este:
Topic.php
Código PHP:
<?php
include 'include/php/conexion.php';
//Conexion con la Base de Datos
$link=@dbConnect();
if (!$link) {
echo "Error conectando a la Base de Datos.";
}
if ($link =="202") {
echo "Error seleccionando la Base de Datos.";
}
$sql_title = "SELECT
topic_id,
topic_subject
FROM
topics
WHERE
topics.topic_id = " . mysql_real_escape_string($_GET['id']);
$result_title = mysql_query($sql_title);
?>
<div id="main">
<div class="content">
<?php
$userid = $_GET['userid'];
include('bbcode/bbcode.php');
echo '<br />';
$topic_id = preg_replace('#[^0-9]#i', '', $_GET['id']);
$sql_id = mysql_query("SELECT * FROM topics WHERE topic_id='$topic_id' LIMIT 1");
$numRows = mysql_num_rows($sql_id);
if ($numRows < 1) {
echo "ERROR: Este tema no existe.";
exit();
}
$sql = "SELECT
topic_id,
topic_subject
FROM
topics
WHERE
topics.topic_id = " . mysql_real_escape_string($_GET['id']);
$result = mysql_query($sql);
if(!$result)
{
echo 'Este tema no se puede mostrar, inténtelo de nuevo.';
}
else
{
if(mysql_num_rows($result) == 0)
{
echo 'Este tema no existe.';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '
<table style="background-color: #F0F0F0; border:#069 1px solid; border-top:none;" width="900" border="0" align="center" cellpadding="12" cellspacing="0">
<tr>
<span class="topicTitles">'.$row['topic_subject'] . '</span><br /><br />';
$posts_sql = "SELECT
posts.post_topic,
posts.post_content,
posts.post_date,
posts.post_by,
users.userid,
users.username
FROM
posts
LEFT JOIN
users
ON
posts.post_by = users.userid
WHERE
posts.post_topic = " . mysql_real_escape_string($_GET['id']);
$posts_result = mysql_query($posts_sql);
if(!$posts_result)
{
echo 'No se puede mostrar el tema,inténtelo de nuevo más tarde.';
}
else
{
while($posts_row = mysql_fetch_assoc($posts_result))
{
echo '<a href="../profile/profile.php?id='.$posts_row['userid'].'">'.$posts_row['username'].'</a> escribió
el: <span class="topicCreationDate">'.strftime("%b %d, %Y", strtotime($fecha)); '</span>
<br />
';?><div class="topic_div"><?php echo bbcode($posts_row['post_content']).'<br>'.bbcode($_POST['contexto']);?></div>
<?
}
}
echo '<hr/>';
if(isset($_SESSION['userid'])){
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
echo '<h2>Responder:</h2><br />
<div id="log">
<div id="log_res">
<!-- SPANNER -->
</div>
</div>
<form method="post" action="reply.php?id=' . $row['topic_id'] . '" name="responder" id="responder" onsubmit="return validarRespuesta();">
<div id="respuesta_error"></div>
<textarea cols="30" id="reply_content" rows="10" name="reply_content" class="full"></textarea><br />
<input type="submit" class="grand splendid" value="Enviar respuesta" />
</form>';
}
else
{
echo 'Tienes que<a href="../login.php"> iniciar sesión</a> para responder.';
}
}
}
}
?>
</div></div>
Código PHP:
<?php
session_start();
include 'include/php/conexion.php';
//Conexion con la Base de Datos
$link=@dbConnect();
if (!$link) {
echo "Error conectando a la Base de Datos.";
}
if ($link =="202") {
echo "Error seleccionando la Base de Datos.";
}
if($_SERVER['REQUEST_METHOD'] != 'POST')
{
echo 'No tiene permiso para ver este archivo.';
}
else
{
if(isset($_SESSION['userid']))
{
$sql = "INSERT INTO
replies(reply_content,
reply_date,
reply_topic,
reply_by)
VALUES ('" . $_POST['reply_content'] . "',
NOW(),
" . mysql_real_escape_string($_GET['id']) . ",
" . $_SESSION['userid'] . ")";
$result = mysql_query($sql);
if(!$result)
{
echo 'No se pudo guardar tu respuesta,por favor inténtelo de nuevo.';
}
else
{
echo '<script type="text/javascript">history.go(-1);</script>';
}
}
else
{
echo 'Tienes que iniciar sesion.';
}
}
?>
Quien pueda ayudarme se los agradezco mucho!
Saludos
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)