Modifiqué mi respuesta anterior porque me di cuenta de que habían algunos errores, así que lee nuevamente :P.
¿Donde debo poner todo este código del segundo bloque?
Tu código puede ir en cualquier archivo, lo importante es que pongas el nombre (y la ruta) del archivo en la url de $.ajax({}) (que olvidé pero que acabo de añadir en mi comentario anterior). En mi ejemplo anterior, el archivo se llama comentarios_ajax.php.
El <script> puede ir donde quieras, siempre y cuando aparezca después de la librería jQuery, o sea, puede ir en el head, en el body o cualquier otro lugar (y no lo debes repetir, basta con incluirlo una sola vez).
Al momento de mostrar los enlaces, tendrías que hacer esto:
<p><a href="#" id="mostrar-comentarios-<?php echo $row_blgvista['IdEntr']; ?>" class="mostrar-comentarios">Ver comentarios: <?php echo $row_blgvista['ComCom']; ?></a></p>
Teóricamente, sólo debes copiar el contenido de tu archivo.php (el que muestra los comentarios) en un archivo llamado comentarios_ajax.php, modificar tu index.php para incluir el script y el enlace como lo acabo de escribir y listo, ya debería estar funcionando.
El require_once quedará al comienzo de tu archivo, igual que ahora. Lo importante es que en lugar de usar un
echo por cada columna de la fila ($row_blogshowCom) debes mostrar el contenido de una sola vez, eliminando todo el HTML de tu archivo de comentarios:
<?php
require_once "tu conexion";
$id = $_POST["id"];
mysql_select_db ($database_connecata, $connecata);
$query_blogshowCom = "SELECT * FROM bdblogcoment WHERE bdblogcoment.IdEntr = $id AND bdblogcoment.intValidacion = 1 ORDER BY bdblogcoment.datFecha DESC";
$blogshowCom = mysql_query ($query_blogshowCom, $connecata) or die(mysql_error());
$row_blogshowCom = mysql_fetch_assoc($blogshowCom);
$totalRows_blogshowCom = mysql_num_rows($blogshowCom);
$out = "<div class='comentarios'>";
while (($row_blogshowCom = mysql_fetch_assoc ($blogshowCom))) {
$out .= $row_blogshowCom['strComentario'];
$out .= $row_blogshowCom['strNombre'];
$out .= $row_blogshowCom['datFecha'];
}
$out .= "</div>";
mysql_free_result($blogshowCom);
echo $out; // La idea es que sólo exista un echo y no varios.
?>
El do { } while(); esta mal, puesto que este
siempre se ejecuta al menos una vez, por lo que si no hay comentarios ocurrirá una advertencia o error (no recuerdo :P).
Otra forma de hacerlo sería usando ob_start y ob_flush (funciones de php), pero te lo dejaré como tarea por si te interesa :P.