Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

arldin

imagem com comentario de usuario

Recommended Posts

Bom dia estou adaptando 2 script

E o seguinte eu tenho uma pagina a onde amostra as fotos postada pelo o usuario e outra pagina que e qualquer usuario pode deixar um comentario na foto.Ambas estão funcionando corretamente.O que eu estou tentando fazer e que os comentario fique na mesma pagina a onde amostra a foto.

Esta e a que amostra as fotos

ver_fotos.php

<?php
	require_once('auth.php');
?>
<link href="foto.css" rel="stylesheet" type="text/css" />
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				$("a[rel=modal]").click( function(ev){
					ev.preventDefault();

					//alterado
					var id = '.window';

					var alturaTela = $(document).height();
					var larguraTela = $(window).width();

					//colocando o fundo preto
					$('#mascara').css({'width':larguraTela,'height':alturaTela});
					$('#mascara').fadeIn(1000);
					$('#mascara').fadeTo("slow",0.8);

					var left = ($(window).width() /2) - ( $(id).width() / 2 );
					var top = ($(window).height() / 2) - ( $(id).height() / 2 );

					$(id).css({'top':top,'left':left});

					//inserido
					href = $(this).attr("href");
					$('.window').load(href);


					$(id).show();
 				});

 				$("#mascara").click( function(){
 					$(this).hide();
 					$(".window").hide();
 				});

 				$('.fechar').click(function(ev){
 					ev.preventDefault();
 					$("#mascara").hide();
 					$(".window").hide();
 				});
			});
		</script>

		<style type="text/css">

		.window{
			display:none;
			width:300px;
			height:300px;
			position:absolute;
			left:0;
			top:0;
			background:#FFF;
			z-index:9900;
			padding:10px;
			border-radius:10px;
		}

		#mascara{
			position:absolute;
  			left:0;
  			top:0;
  			z-index:9000;
  			background-color:#000;
  			display:none;
		}

		.fechar{display:block; text-align:right;}

		</style>
<?php
$con = mysql_connect("localhost", "root", "");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("bookfest_redesoc", $con);

$result = mysql_query("SELECT * FROM photos  ORDER BY photo_id DESC");


while($row = mysql_fetch_array($result))
  {

  //echo "<img width=100 height=100 alt='Unable to View' src='" . $row["location"] . "'>";
 echo "<div class='commentphoto2'>";
 echo "  ";
 echo "<img width=50 height=50 alt='Unable to View' src='" . $row["PIC"] . "'>";
 echo '<font color="Blue">';
 echo '<b>';
 echo "  ";
 echo 'Postado por:';
 echo '</b>';
 echo "  ";
 echo  $row["caption"];
  echo"     ";
   echo '<br>';
   echo '<div class="white">';
    echo "  ";
 echo  $row["comentario"];
 echo "</div>";
 echo "<br>";
 echo '<a href=foto_comentarios.php?id=' . $row["photo_id"] . '>' . "<img width=250 height=250 alt='Unable to View' src='". $row["location"] . "'>" . '</a>';
 echo '<br>';

  echo"     ";
   echo '<br>';
   echo "</div>";
  }

mysql_close($con);

?>


e esta e a onde são feito os comentarios

foto_comentarios.php

<?php
	require_once('auth.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="icon" href="img/Untitled-1.png" type="image" />
<link rel="shortcut icon" href="img/Untitled-1.png" type="image" />

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="keywords" content="">
	<meta name="description" content="">
<title>Comentario na foto</title>
<link href="format.css" rel="stylesheet" type="text/css" />

<style type="text/css">

</style>

<script type="text/javascript">
<!--
var timeout         = 500;
var closetimer		= 0;
var ddmenuitem      = 0;

// open hidden layer
function mopen(id)
{
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	ddmenuitem = document.getElementById(id);
	ddmenuitem.style.visibility = 'visible';


}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose;
// -->
</script>
<style type="text/css">
#scroll {
width:450px;
height:520px;
background-color:#F2F2F2;
overflow:auto;
}
</style>
<form action="savecomment.php" method="get">

      <div class="photocommentlist">

	  <?php
	if (isset($_GET['id']))
	{
$con = mysql_connect('localhost','root',"");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("bookfest_redesoc", $con);

$member_id = $_GET['id'];

//echo "SELECT * FROM members WHERE member_id = $member_id";
$result = mysql_query("SELECT * FROM photos WHERE photo_id = $member_id");

$row = mysql_fetch_array($result);
if (!$result)
						{
						echo "wala";
						}
						else{


echo "<spam>";
echo "<img width=50 height=50 alt='Unable to View' src='" . $row["PIC"] . "'>";
echo '  ';
echo 'Postado por:';
echo '  ';
 echo  $row["caption"];
 echo '</spam>';
echo "<img width=400 height=400 alt='Unable to View' src='" . $row["location"] . "'> <br />";
  echo'<input type="hidden" name="useid" value="'. $row["photo_id"] .'"."<br>';

mysql_close($con);
}
}
?>
<div>
 <input type="text" name="textfield" size="50" value="-Deixe comentário aqui-" onclick="this.value='';" /><br>
         <input type="hidden" name="nome" value="<?php echo $_SESSION['SESS_FIRST_NAME'];?>" />
        <input type="hidden" name="textfield1" value="<?php echo $_SESSION['SESS_LAST_NAME'];?>" />
	    <input type="submit" name="Submit" value="Enviar comentario" />
        <a href="div1.php" title="Voltar"><input type="button" value="Voltar" /></a>
</div>

	  </div>

      <div class="commentphoto">

     <div class="commentphoto2" id="scroll">

 	<?php
		if (isset($_GET['id']))
	{
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("bookfest_redesoc", $con);
$member_id = $_GET['id'];

$query  = "SELECT * FROM photoscomment WHERE commentby='$member_id' ORDER BY comment_id DESC";
$result = mysql_query($query);

while($row = mysql_fetch_assoc($result))
{
echo '<div class="white">';
   echo '  ';
   echo "<img width=50 height=50 alt='Unable to View' src='" . $row["PIC"] . "'>";
   echo '<font color="Blue">';
   echo '<b>';
   echo '<div class="style1">';
   echo '  ';
   echo "{$row['nome']}";
   echo '  ';
   echo 'comentou:';
   echo '</b>';
   echo '</font>';
   echo '</br>';
   echo '  ';
	//echo'<input type="text" name="firstname" value="'. $row['messages_id'] .'">';
	echo '<font size="4px">';
	echo "{$row['comment']}<br>";
	echo '</font>';

echo '</div>';
echo '</div>';
}

if (!mysql_query($query,$con))
  {
  die('Error: ' . mysql_error());
  }

}
mysql_close($con)

?>

		</div> </div>

   </div>
	 </div></form>


Esta e a que eu ja fiz algumas mudanças

<?php
	require_once('auth.php');
?>
<link href="foto.css" rel="stylesheet" type="text/css" />
		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				$("a[rel=modal]").click( function(ev){
					ev.preventDefault();

					//alterado
					var id = '.window';

					var alturaTela = $(document).height();
					var larguraTela = $(window).width();

					//colocando o fundo preto
					$('#mascara').css({'width':larguraTela,'height':alturaTela});
					$('#mascara').fadeIn(1000);
					$('#mascara').fadeTo("slow",0.8);

					var left = ($(window).width() /2) - ( $(id).width() / 2 );
					var top = ($(window).height() / 2) - ( $(id).height() / 2 );

					$(id).css({'top':top,'left':left});

					//inserido
					href = $(this).attr("href");
					$('.window').load(href);


					$(id).show();
 				});

 				$("#mascara").click( function(){
 					$(this).hide();
 					$(".window").hide();
 				});

 				$('.fechar').click(function(ev){
 					ev.preventDefault();
 					$("#mascara").hide();
 					$(".window").hide();
 				});
			});
		</script>

		<style type="text/css">

		.window{
			display:none;
			width:300px;
			height:300px;
			position:absolute;
			left:0;
			top:0;
			background:#FFF;
			z-index:9900;
			padding:10px;
			border-radius:10px;
		}

		#mascara{
			position:absolute;
  			left:0;
  			top:0;
  			z-index:9000;
  			background-color:#000;
  			display:none;
		}

		.fechar{display:block; text-align:right;}

		</style>
<?php
$con = mysql_connect("localhost", "root", "");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("bookfest_redesoc", $con);

$result = mysql_query("SELECT * FROM photos  ORDER BY photo_id DESC");


while($row = mysql_fetch_array($result))
  {

  //echo "<img width=100 height=100 alt='Unable to View' src='" . $row["location"] . "'>";
 echo "<div class='commentphoto2'>";
 echo "  ";
 echo "<img width=50 height=50 alt='Unable to View' src='" . $row["PIC"] . "'>";
 echo '<font color="black">';
 echo '<b>';
 echo "  ";
 echo 'Postado por:';
 echo '</b>';
 echo "  ";
 echo  $row["caption"];
  echo"     ";
   echo '<br>';
   echo '<div class="white">';
    echo "  ";
 echo  $row["comentario"];
 echo "</div>";
 echo "<br>";

 echo '<br>';
 echo "o que foi incluido daqui ";
 echo "<form action='savecomment.php' method='get'>";
echo "<img width=290 height=250 alt='Unable to View' src='" . $row["location"] . "'> <br />";
  echo'<input type="hidden" name="useid" value="'. $row["photo_id"] .'"."<br>';
  echo '<div class="white">';
  echo "<br>";
 echo '  ';
 echo "<input type='text' name='textfield' size='50' value='-Deixe comentário aqui-' onclick='this.value=''; /><br>";
 echo " <input type='hidden' name='nome' value=";
 echo $_SESSION['SESS_FIRST_NAME'];
 echo" />";
 echo "<input type='hidden' name='textfield1' value=";
 echo $_SESSION['SESS_LAST_NAME'];
 echo " />";
 echo '  ';
 echo " <input type='submit' name='Submit' value='Seu comentario' />";

   echo '<font color="Blue">';
   echo '<b>';
   echo '<div class="style1">';
   echo '  ';
   echo "{$row['nome']}";
   echo '  ';
   echo 'comentou:';
   echo '</b>';
   echo '</font>';
   echo '</br>';
   echo '  ';
	//echo'<input type="text" name="firstname" value="'. $row['messages_id'] .'">';
	echo '<font size="4px">';
	echo "{$row['comment']}<br>";
	echo '</font>';

echo '</div>';
 
 echo "</div>";
 echo "</form>";
 echo "até aqui";
  echo"     ";
   echo '<br>';
   echo "</div>";
  }

mysql_close($con);

?>


Nesta parte do codico e a onde eu quero que apareça os comentario embaixo de cada foto postada

echo "o que foi incluido daqui ";
echo "<form action='savecomment.php' method='get'>";
echo "<img width=290 height=250 alt='Unable to View' src='" . $row["location"] . "'> <br />";
echo'<input type="hidden" name="useid" value="'. $row["photo_id"] .'"."<br>';
echo '<div class="white">';
echo "<br>";
echo '  ';
echo "<input type='text' name='textfield' size='50' value='-Deixe comentário aqui-' onclick='this.value=''; /><br>";
echo " <input type='hidden' name='nome' value=";
echo $_SESSION['SESS_FIRST_NAME'];
echo" />";
echo "<input type='hidden' name='textfield1' value=";
echo $_SESSION['SESS_LAST_NAME'];
echo " />";
echo '  ';
echo " <input type='submit' name='Submit' value='Seu comentario' />";

echo '<font color="Blue">';
echo '<b>';
echo '<div class="style1">';
echo '  ';
echo "{$row['nome']}";
echo '  ';
echo 'comentou:';
echo '</b>';
echo '</font>';
echo '</br>';
echo '  ';
//echo'<input type="text" name="firstname" value="'. $row['messages_id'] .'">';
echo '<font size="4px">';
echo "{$row['comment']}<br>";
echo '</font>';

echo '</div>';

echo "</div>";
echo "</form>";
echo "até aqui";

 

fiz uns teste e ela esta cadastrando os comentario em cada foto postada

Como os comentario e colocado em outra tabela como eu faço para fazer um SELECT em tabelas diferentes

a tabela das fotos e esta

CREATE TABLE IF NOT EXISTS `photos` (
  `photo_id` int(11) NOT NULL AUTO_INCREMENT,
  `term` varchar(30) NOT NULL,
  `location` varchar(200) NOT NULL,
  `uploadedby` int(11) NOT NULL,
  `caption` varchar(50) NOT NULL,
  PRIMARY KEY (`photo_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;

e a tabela dos comentario e esta

CREATE TABLE IF NOT EXISTS `photoscomment` (
  `comment_id` int(11) NOT NULL AUTO_INCREMENT,
  `comment` text NOT NULL,
  `commentby` int(100) NOT NULL,
  `PIC` varchar(30) NOT NULL,
  PRIMARY KEY (`comment_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=403 ;

Como posso dar 2 select em um só

Compartilhar este post


Link para o post
Compartilhar em outros sites

O segundo exemplo mais deu erro na linha quando eu retiro a linha não a mostra nem a imagem e so um registro e nem os comentarios

este aqui

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
INNER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais foi o que eu fiz me baseie na minha tabela


e que eu nunca fiz select com este modelo so no tradicional talvez eu não esteja fazendo certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz desta forma

$result = mysql_query("SELECT photo_id,location,caption
FROM photos
INNER JOIN photoscomment
ON photos.photo_id=photoscomment.comment_id"
);

Agora me amostra o nome de quem postou a foto e a foto. Mais os comentarios e a foto do usuario não amostra se eu coloco os campos para onde vai a foto do usuari da ero a mesma coisa nos comentarios


e faz o insert das mensagem para o bd


alias faz insert dos comentarios

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc nao selecionou nenhum campo da tabela de comentario

 

tenta assim

$result = mysql_query("SELECT photo_id,location,caption, comment
FROM photos
INNER JOIN photoscomment
ON photos.photo_id=photoscomment.comment_id"
);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei desta orma ai apareçeu os cometarios mais eu fiz uma limpeza no bd na parte dos comentarios agora não amostra nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz alteraçao mais agora nem a mostra quem postou e a foto e nem a foto od usuario

Esta assim todo o codico

<?php

$con = mysql_connect("localhost", "bookfest_redesoc", "ar592409");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("bookfest_redesoc", $con);


$result = mysql_query("SELECT photo_id,location,uploadedby,caption,PIC
FROM photos
INNER JOIN photoscomment
ON photos.photo_id=photoscomment.comment_id"
);


$result = mysql_query($result);
  {

  //echo "<img width=100 height=100 alt='Unable to View' src='" . $row["location"] . "'>";
 echo "<div class='commentphoto2'>";
 echo "  ";
 echo "<img width=50 height=50 alt='Unable to View' src=";
 echo $row["PIC"];
 echo ">";
 echo '<font color="black">';
 echo '<b>';
 echo "  ";
 echo 'Postado por:';
 echo '</b>';
 echo "  ";
 echo  $row["caption"];
  echo"     ";
   echo '<br>';
   echo '<div class="white">';
    echo "  ";
 echo  $row["comentario"];
 echo "</div>";
 echo "<br>";

 echo '<br>';
 echo "o que foi incluido daqui ";
 echo "<form action='savecomment.php' method='get'>";
echo "<img width=290 height=250 alt='Unable to View' src=";
echo $row["location"];
echo ">";
echo "' <br />';
  echo'<input type='hidden' name='useid' value=";
  echo $row["photo_id"];
  echo "<br>";
  echo '<div class="white">';
  echo "<br>";
 echo '  ';
 echo "<input type='text' name='textfield' size='50' value='-Deixe comentário aqui-' onclick='this.value=''; /><br>";
 echo " <input type='hidden' name='nome' value=";
 echo $_SESSION['SESS_FIRST_NAME'];
 echo " />";
 echo "<input type='hidden' name='textfield1' value=";
 echo $_SESSION['SESS_LAST_NAME'];
 echo " />";
 echo '  ';
 echo " <input type='submit' name='Submit' value='Seu comentario' />";

   echo '<font color="Blue">';
   echo '<b>';
   echo '<div class="style1">';
   echo '  ';
   echo $row['nome'];
   echo '  ';
   echo 'comentou:';
   echo '</b>';
   echo '</font>';
   echo '</br>';
   echo '  ';
	//echo'<input type="text" name="firstname" value="'. $row['messages_id'] .'">';
	echo '<font size="4px">';
	echo $row['comment'];
    echo "<br>";
	echo '</font>';

echo '</div>';

 echo "</div>";
 echo "</form>";
 echo "até aqui";
  echo"     ";
   echo '<br>';
   echo "</div>";
  }

mysql_close($con);

?>

os comentarios estão na tabela photoscomment


não na tabela photos


não na tabeal photos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei desta orma ai apareçeu os cometarios mais eu fiz uma limpeza no bd na parte dos comentarios agora não amostra nada

 

Se voce fez a limpeza, o que entendo como apagar os registros, e não tem mais nada na tabela, é óbvio que não vai aparecer nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não notei um detalhe, e te passei um select errado.

você não criou um campo para o id da foto comentada na sua tabela de comentários, pois é com ela que vc vai relacionar com o id da foto.

 

entao ficaria assim

$result = mysql_query("SELECT photo_id,location,caption, comment
FROM photos
INNER JOIN photoscomment
ON photos.photo_id=photoscomment.photo_id"
);

O certo seria vc criar também, uma chave estrangeira, pesquise sobre relacionamentos entre tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.