Jump to content
Sign in to follow this  
Matunga

Ajuda em relação a sistema de postagem (PHP)

Recommended Posts

Matunga

Boas pessoal, sou novo aqui pelo forum, e estou com uma dúvida.

Desenvolvi um sistema de pastagem em PHP, com o seguinte, conteúdo:

- Post (texto)

- Inserido por

- Data

- Link para comentar

- Link com o numero de comentários já existentes

Deparo-me com a situação de que se clicar no link e for ver os comentários existentes, nada acontece (a div com os comentarios nao aparece) no entanto, casa a tabela da base de dados que armazena os comentários já tiver algum inserido, aí já me aparece os comentários existentes na div que falei anteriormente. O mesmo acontece quando quero adicionar um comentário.

Segue em baixo os códigos PHP:

   Cógigo para aparecer a div para visualizar comentários existentes ao post

	<?
	$consultar_comentarios_posts = mysql_query("SELECT * FROM comentarios_posts WHERE id_post_comentado = '$id_url'");
	$contar_comentarios_posts = mysql_num_rows($consultar_comentarios_posts);
	while ($linha = mysql_fetch_array($consultar_comentarios_posts)) {
		$id_comentario = $linha['id_comentario'];
		$id_post_comentado = $linha['id_post_comentado'];
		$autor_comentario_post = $linha['autor_comentario'];
		$data_comentario_post = $linha['data_comentario'];
		$hora_comentario_post = $linha['hora_comentario'];
		$comentario_efetuado_post = $linha['comentario'];



	if ($id_post_comentado == $id_url AND @$_GET['f'] == null) {   // Mostra a div com os comentarios existentes ao post
	?>

	<div class="separador" style="border-bottom: 1px dashed #ccc;"></div>

	<h3 style="font-size: 14px; font-family: verdana; padding: 5px;">Comentários à publicação <? echo $id_post_comentado; ?> redigida por <? echo $autor_comentario_post; ?> em <? echo $data_comentario_post ?> às <? echo $hora_comentario_post; ?></h3>
	<div class="article">
	  <div class="comment"> <a href="#"><img src="images/userpic.gif" width="40" height="40" alt="" class="userpic" /></a>
		<p><a href="perfis.php?m=<? echo $autor_comentario_post; ?>" title="ver perfil"><? echo $autor_comentario_post ?></a> disse:<br />
		  em <? echo $data_comentario_post ?> às <? echo $hora_comentario_post ?></p>
		<p><? echo $comentario_efetuado_post ?></p>
	  </div>
	</div>
	<?
	} // fim da consulta aos comentarios do post
	} // Se id_post_comentado for passado na url
	?>

	 Código para aparecer a div para adicionar um novo comentário

  <?
	$consultar_comentarios_posts = mysql_query("SELECT * FROM comentarios_posts WHERE id_post_comentado = '$id_url'");
	while ($linha = mysql_fetch_array($consultar_comentarios_posts)) {
		$id_comentario = $linha['id_comentario'];
		$id_post_comentado = $linha['id_post_comentado'];
		$autor_comentario_post = $linha['autor_comentario'];
		$data_comentario_post = $linha['data_comentario'];
		$hora_comentario_post = $linha['hora_comentario'];
		$comentario_efetuado_post = $linha['comentario'];
	if (@$_GET['f'] == 'comentar' AND $id_post_comentado == $id_url) {
	?>

   <div class="article">
	<h2 style="font-size: 14px; font-family: verdana; padding: 5px;">Deixe o seu comentário à publicação <? echo $id_post_comentado ?> redigida por <? echo $autor_comentario_post ?> em <? echo $data_comentario_post ?> às <? echo $hora_comentario_post ?></h2><span style="color: #CC0000">* Campo obrigatório</span>
	  <form action="#" method="post" id="leavereply">
		<ol>
		  <li>
			<label for="message">Comentário <span style="color: #CC0000">*</span></label>
			<textarea id="message" name="comentariario_post" rows="8" cols="50"></textarea>
		  </li>
		  <li>
			<a href="#" title="Inserir post"><input value=" " type="submit" name="comentar" id="imageField" src="" class="inserir_comentario"/></a>
			<div class="clr"></div>
		  </li>
		</ol>
	  </form>
	  <?
	  if (@$_POST['comentar']) {  // botao comentar primido
	  $comentariario_post = $_POST['comentariario_post'];
	  @$data_comentario = date("Y.m.d");;
	  @$hora_comentario = date("H:i:s");
	  @$id_url = $_GET['post'];
	  include "config.php";


	  $numero_comentarios_existentes = mysql_query("SELECT * FROM posts WHERE id_post = '$id_url'");
	  while ($num = mysql_fetch_array($numero_comentarios_existentes)) {
		$numero_comentarios_post = $num['numero_comentarios_post'];

	  }

		if ($comentariario_post == null) { ?>
		<div style="margin-left: 12px; margin-top: 5px; color: #CC0000">• Preencha o campo do comentário!!</div><br />
		<?
		}
		else { ?>
		<div style="margin-left: 12px; margin-top: 5px; color: green">• A sua resposta foi inserida com sucesso!!</div><br />
		<meta http-equiv="refresh" content="1; url=http://localhost:8080/clean_layout/blog.php">
		<?
		include "config.php";
		mysql_query("INSERT INTO comentarios_posts (id_post_comentado, autor_comentario, data_comentario, hora_comentario, comentario)
		VALUES ('$id_post_comentado','$login','$data_comentario','$hora_comentario','$comentariario_post')");

		mysql_query("UPDATE posts SET numero_comentarios_post='$numero_comentarios_post'+1 WHERE id_post_comentado = '$id_url'");

		}

	  }   // botao comentar primido
	  ?>
	</div>
	<?
	} // Se f for igual a comentar
	} // Fim da consulta aos comentarios dos posts
	?>

Espero que me possam ajudar a encontrar uma solução apara o problema de n aparecerem as divs caso a base de dados esteja vazia

Obrigado e cumprimentos a todos :)

Share this post


Link to post
Share on other sites
N3lson

Testa assim para ver se dá.

if (empty(trim($comentariario_post ))) {


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Share this post


Link to post
Share on other sites
Devexz

não vou responder com codigo, porque acho que chegas lá facilmente.

Ora tu tens a div dentro do while que percorre os resultados da bd, logo se não existirem resultados, o php não vai entrar nesse while, logo a div também não é processada.


Contador de calorias: caloriaspordia.com

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.