arldin 1 Denunciar post Postado Dezembro 31, 2014 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
Electronic 124 Denunciar post Postado Dezembro 31, 2014 http://www.w3schools.com/sql/sql_join_inner.asp Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Dezembro 31, 2014 usei mais não funcionou os arquivos estão em php Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Dezembro 31, 2014 usei mais não funcionou os arquivos estão em php como foi que vc usou? Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Dezembro 31, 2014 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.OrderIDFROM CustomersINNER JOIN OrdersON Customers.CustomerID=Orders.CustomerIDORDER BY Customers.CustomerName; Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Dezembro 31, 2014 Mas nao é pra usar igual está lá aquilo é um exemplo da sintaxe, e vc terá que fazer baseado nas suas tabelas Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Dezembro 31, 2014 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
Electronic 124 Denunciar post Postado Dezembro 31, 2014 como foi que você usou? Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Dezembro 31, 2014 coloquei o nome das duas tabelas os ids de cada uma e por onde ele pega as informaçoes Compartilhar este post Link para o post Compartilhar em outros sites
arldin 1 Denunciar post Postado Dezembro 31, 2014 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
Electronic 124 Denunciar post Postado Dezembro 31, 2014 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
arldin 1 Denunciar post Postado Janeiro 1, 2015 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
arldin 1 Denunciar post Postado Janeiro 1, 2015 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
Electronic 124 Denunciar post Postado Janeiro 2, 2015 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
arldin 1 Denunciar post Postado Janeiro 3, 2015 so que se eu incluir fotos tambem não aparece mais nada Compartilhar este post Link para o post Compartilhar em outros sites
Electronic 124 Denunciar post Postado Janeiro 3, 2015 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