Buenas gente, despues de ver un rejunte de la web les dejo un sistema de comentarios copado.
Creamos una tabla para nuestros comentarios.. Si quieren la juntan con la de su web o bien es preferible crear otra tabla de datos...Queda a su criterio.
Código:
CREATE TABLE IF NOT EXISTS `foros_de_web_comentarios` (
`id_coment` int(11) NOT NULL auto_increment,
`id_user` varchar(20) collate utf8_spanish_ci default NULL,
`comentario` varchar(9000) collate utf8_spanish_ci default NULL,
`id_post` varchar(20) collate utf8_spanish_ci default NULL,
`fecha` text collate utf8_spanish_ci NOT NULL,
`id_cat` varchar(20) collate utf8_spanish_ci NOT NULL default '0',
PRIMARY KEY (`id_coment`),
FULLTEXT KEY `id_cat` (`id_cat`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=12 ;
En un archivo "comentarios.php" ponemos el codigo.
Código PHP:
<?php
//aca hacemos la conexión a nuestra db previamente de tabla creada.
$dbhost = "localhost";
$dbusuario = "db_username";
$dbpassword = "db_password";
$db = "db_name";
$conexion = mysql_connect($dbhost, $dbusuario, $dbpassword) OR die("No se puedo conectar a la BDD ".mysql_error()."...!!!");
require("/home/user/public_html/SSI.php");
mysql_select_db($db, $conexion) OR die("No se pudo seleccionar la BDD ".mysql_error()."...!!!");
//esto si desean podemos poner en una cajita ( box ) , para q inviten a sus visitantes a registrarse
if($context['user']['id']=='')
echo'<span style="color: red;" class="size11"><b>Solo Usuarios REGISTRADOS pueden actualizar los comentarios.<CENTER><a style="color: red;" href="Tu-Web/?action=registrarse">REGISTRATE</a> - <a style="color: red;" href="Tu-Web/?action=login">CONECTATE</a></CENTER></b></span>';
else
{
$rs = mysql_query("SELECT c.id_post, c.id_coment, m.subject, m.ID_TOPIC, c.id_user, mem.ID_MEMBER, mem.RealName, mem.memberName
FROM (cw_comentarios AS c, smf_messages AS m, smf_members AS mem)
WHERE id_post = m.ID_TOPIC AND c.id_user = mem.ID_MEMBER
ORDER BY c.id_coment DESC
LIMIT 25");
$context['comentarios25'] = array();
while ($row = mysql_fetch_assoc($rs)){
censorText($row['subject']);
$context['comentarios25'][] = array(
'id_coment' => $row['id_coment'],
'titulo' => $row['subject'],
'ID_TOPIC' => $row['ID_TOPIC'],
'memberName' => $row['memberName'],
'RealName' => $row['RealName'],
);
}mysql_free_result($rs);
foreach ($context['comentarios25'] as $coment25){
echo '<font class="size11" ><b><a title="'. censorText($coment25['RealName']) .'" href="TuWeb.com/User-perfil/'. $coment25['memberName'] .'">'. censorText($coment25['RealName']) .'</a></b> - <a title="'. censorText($coment25['titulo']).'" href="Tu-Web/EL-post/'. $coment25['ID_TOPIC'] .'#cmt_'. $coment25['id_coment'] .'">'.achicars($coment25['titulo']).'</a><br>';
} }
?>
Y en nuestros sources.. hacemos lo siguiente...
Código PHP:
// aca marca si hay comentarios
$request = db_query("
SELECT *
FROM (cw_comentarios)
WHERE id_post = $topic
", __FILE__, __LINE__);
$context['haycom'] = mysql_fetch_assoc($request);
// aca marca cuantos comentarios hay
$request = db_query("
SELECT *
FROM (cw_comentarios)
WHERE id_post = $topic
", __FILE__, __LINE__);
$context['numcom'] = mysql_num_rows($request);
// aca marca los comentarios
$request = db_query("
SELECT c.comentario, c.comentario AS comentario2, c.id_post, c.id_user, mem.ID_MEMBER, mem.memberName, mem.realName, c.id_coment, c.fecha
FROM (cw_comentarios AS c, smf_members AS mem)
WHERE c.id_post = $topic AND c.id_user = mem.ID_MEMBER
ORDER BY c.id_coment ASC
", __FILE__, __LINE__);
$context['comentarios'] = array();
while ($row = mysql_fetch_assoc($request))
{
$row['comentario'] = htmlspecialchars($row['comentario']);
$row['comentario'] = parse_bbc($row['comentario'], '1', $row['ID_MSG']);
$row['comentario0'] = parse_bbc($row['comentario0'], '0', $row['ID_MSG']);
censorText($row['comentario']);
censorText($row['comentario2']);
$context['comentarios'][] = array(
'comentario2' => $row['comentario2'],
'comentario' => $row['comentario'],
'citar' => $row['comentario0'],
'user' => $row['id_user'],
'nomuser' => $row['realName'],
'nommem' => $row['memberName'],
'id' => $row['id_coment'],
'fecha' => $row['fecha'],
);
Creo q se entiende, ahora solo faltaría .. incrustar un código abajo de cada Publicación en SMF, mas presisamente en el Display.template.php.
Pero yo mucho de PHP no entiendo, asi que solicito ayuda a los masters del PHP..
Bueno hasta acá llego, si encuentro algun codigo q me aga funcionar este "comentarios estilo taringa" edito éste POST.
Un saludo....
Dudas , Opiniones y Criticas son aceptadas ..