kel777 Postado Novembro 27, 2012 Denunciar Share Postado Novembro 27, 2012 Olá pessoal. Tenho em meu site um sistema de postagem.E para deixa-lo mais fácil estou criando dentro do admin uma forma dos usuários alterarem os posts,assim se algum estiver com erro é fácil para alterar.Até então deu tudo certo, alterou os dados como eu queria.O problema é que alterou todos os posts. No caso eu alterei só o título, e todos os posts ficaram com o mesmo título.Segue o código abaixo:<? include ('include/footer.php') ?> <?php $host="localhost"; // Host name $username="proativa_blog"; // Mysql username $password="q4w3e2r1"; // Mysql password $db_name="proativa_blog"; // Database name $tbl_name="forum_question"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // get value of id that sent from address bar $id=$_GET['id']; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql); $rows=mysql_fetch_array($result); ?> <? // faz consulta no banco $consulta = mysql_query("select * from forum_question"); ?> <!-- EDITOR HTML--> <script type="text/javascript" src="../tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ // General options mode : "textareas", theme : "advanced", plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template", // Theme options theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Example content CSS (should be your site CSS) content_css : "css/content.css", // Drop lists for link/image/media/template dialogs template_external_list_url : "lists/template_list.js", external_link_list_url : "lists/link_list.js", external_image_list_url : "lists/image_list.js", media_external_list_url : "lists/media_list.js", // Replace values for the template plugin template_replace_values : { username : "Some User", staffid : "991234" } }); </script> <!-- Navigation --> <div id="navigation"> <ul> <li><a href="index2.php"><span>INÍCIO</span></a></li> <li><a href="blog.php" class="active"><span>BLOG</span></a></li> <li><a href="eventos.php"><span>EVENTO</span></a></li> <li><a href="cadastro.php"><span>CADASTRAR NOVO USUÁRIO</span></a></li> <li><a href="dados_usuario.php"><span>ALTERAR DADOS</span></a></li> <li><a href="alterar_senha.php"><span>ALTERAR SENHA</span></a></li> <li><a href="logout.php"><span>SAIR</span></a></li> </ul> </div> <!-- End Navigation --> </div> </div> <!-- End Header --> <!-- Content --> <div id="content" class="shell"> <!-- Help Navigation --> <div id="help-nav"> <a href="index.php">INÍCIO</a> > <a href="blog.php">BLOG</a> > <a href="alterar_postagem.php">ALTERAR POSTAGEM</a> > POSTAGEM ID:<? echo $rows['id']; ?> </div> <!-- End Help Navigation --> <h6 class="red"></ol> <span class="red"><h1> <p>Alterar Postagem</p></h1></span> <?php while($linha = mysql_fetch_object($consulta)) { ?> <? $topic = htmlspecialchars($_POST['topic']); $detail = $_POST['detail']; $complete = $_POST['complete']; $foto = $_POST['foto']; $name = $_POST['name']; $email = $_POST['email']; // verifica o Título if($topic == "") { echo "Não é permitido deixar o Tópico em Branco!"; exit; } // verifica o Resumo if($topic == "") { echo "Não é permitido deixar o Resumo em Branco!"; exit; } // verifica o Conteúdo if($topic == "") { echo "Não é permitido deixar o Resumo em Conteúdo!"; exit; } // verifica o Autor if($topic == "") { echo "Não é permitido deixar o Resumo em Autor!"; exit; } // faz consulta para atualizar os dados $sql = "update forum_question set topic = '$topic', detail = '$detail', complete = '$complete', name = '$name', email = '$email'"; $consulta = mysql_query($sql); // verifica se foi atualizado os dados if($consulta) { echo " Postagem atualizados com Sucesso!<br> Click <a href=http://iprism.com.br/admin/alterar_postagem.php>aqui</a> para retornar!"; exit; } else { echo " Não foi possivel atualizar os dados!<br> Click <a href=http://iprism.com.br/admin/alterar_postagem.php>aqui</a> para retornar!"; exit; } ?> <?php } ?> <p> </p> </div> <!-- End Content --> </div> <!-- Footer --> <div id="footer"> <p>©Painel de Controle ..::IPRISM::..</p> </div> <!-- End Footer --> </body> </html>Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 blew Postado Novembro 27, 2012 Denunciar Share Postado Novembro 27, 2012 mesmo coisa que seu outro post...faltou a clausula WHERE para que funcione normalmenteprocure por CRUD MYSQL no google, de uma estudada e pratique!a clausula WHERE é tão importante quanto qualquer outra que possa existir! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kel777 Postado Novembro 28, 2012 Autor Denunciar Share Postado Novembro 28, 2012 Cara, esse banco tem também o "id" de cada postagem, ai eu pensei que poderia usar o "id" para que alterasse apenas a postagem que eu editei, fiz o seguinte:Na linha 20$consulta = mysql_query("select * from forum_question where id = '$id'"); Na linha 122 $sql = "update forum_question set topic = '$topic', detail = '$detail', complete = '$complete', name = '$name', email = '$email' where id = '$id'";mais ele não da em nada. quando clico para atualizar a pagina não mostra erro e nem nada. oque eu errei?mesmo coisa que seu outro post...faltou a clausula WHERE para que funcione normalmenteprocure por CRUD MYSQL no google, de uma estudada e pratique!a clausula WHERE é tão importante quanto qualquer outra que possa existir! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 blew Postado Novembro 28, 2012 Denunciar Share Postado Novembro 28, 2012 da onde você ta resgatando esse $id?geralmente passa por $_GET no link de alterarexemplo:<a href='alterar.php?id=<?php echo $row['id']; ?>'>alterar</a> ai na pagina alterar.php você resgata $id = (int) $_GET['id']; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kel777 Postado Novembro 28, 2012 Autor Denunciar Share Postado Novembro 28, 2012 (editado) Blew, Acredito não estar muito longe de conseguir. vou postar aqui como estão as páginas, assim você vai localizar fácil meu erroa página alterar_postagem.php lista todas as postagens:<? include ('include/footer.php') ?> <? // faz consulta no banco $consulta = mysql_query("select * from forum_question WHERE Name = '$name'"); ?> <?php $host="localhost"; // Host name $username="proativa_blog"; // Mysql username $password="q4w3e2r1"; // Mysql password $db_name="proativa_blog"; // Database name $tbl_name="forum_question"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $sql="SELECT * FROM $tbl_name ORDER BY id DESC"; // OREDER BY id DESC is order result by descending $result=mysql_query($sql); ?> <!-- Navigation --> <div id="navigation"> <ul> <li><a href="index2.php"><span>INÍCIO</span></a></li> <li><a href="blog.php" class="active"><span>BLOG</span></a></li> <li><a href="eventos.php"><span>EVENTO</span></a></li> <li><a href="cadastro.php"><span>CADASTRAR NOVO USUÁRIO</span></a></li> <li><a href="dados_usuario.php"><span>ALTERAR DADOS</span></a></li> <li><a href="alterar_senha.php"><span>ALTERAR SENHA</span></a></li> <li><a href="logout.php"><span>SAIR</span></a></li> </ul> </div> <!-- End Navigation --> </div> </div> <!-- End Header --> <!-- Content --> <div id="content" class="shell"> <!-- Help Navigation --> <div id="help-nav"> <a href="index.php">INÍCIO</a> > <a href="blog.php">BLOG</a> > ALTERAR POSTAGEM </div> <!-- End Help Navigation --> <h6 class="red"></ol> <span class="red"><h1> <p>Alterar Postagem</p></h1></span></h6> </div> <?php // Start looping table row while($rows=mysql_fetch_array($result)){ ?> <table width="100%" border="0" cellspacing="0" cellpadding="0" class="listagem"> <tr> <td class="b"> </td> <td class="b"> </td> <td class="b"> </td> <td class="c"> </td> </tr> <tr> <td width="163"> </td> <td width="172" class="image"><a href="modificar_postagem.php?id=<? echo $rows['id']; ?>"><img src="fotos/<? echo $rows['foto']; ?>" width="168" height="113" class="image" /></a></td> <td width="24" class="b"> </td> <td width="944" class="c"><h3><a href="modificar_postagem.php?id=<? echo $rows['id']; ?>"><? echo $rows['topic']; ?></a></h3><br /> <? echo $rows['detail']; ?> <a href="modificar_postagem.php?id=<? echo $rows['id']; ?>"> Continuar lendo...</a><br /> <b class="list_data"><br /> <? echo $rows['view']; ?> Visitas / <? echo $rows['reply']; ?> Comentários / <a href="modificar_postagem.php?id=<? echo $rows['id']; ?>"> MODIFICAR POSTAGEM </a> <div class="fb-like" data-href="http://iprism.com.br/blog_topico.php?id=<? echo $rows['id']; ?>" data-send="true" data-layout="button_count" data-width="450" data-show-faces="true"></div> </td> </tr> <tr> <td class="b"> </td> <td colspan="3" class="b"><hr></td> </tr> </table> <p> </p> <!-- End Content --> </div> <?php // Exit looping and close connection } mysql_close(); ?> <!-- Footer --> <div id="footer"> <p>©Painel de Controle ..::IPRISM::..</p> </div> <!-- End Footer --> </body> </html> A página modificar_postagem.php mostra a postagem que o usuário escolheu para edição <? include ('include/footer.php') ?> <?php $host="localhost"; // Host name $username="proativa_blog"; // Mysql username $password="q4w3e2r1"; // Mysql password $db_name="proativa_blog"; // Database name $tbl_name="forum_question"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // get value of id that sent from address bar $id=$_GET['id']; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql); $rows=mysql_fetch_array($result); $id = (int) $_GET['id']; ?> <!-- EDITOR HTML--> <script type="text/javascript" src="../tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ // General options mode : "textareas", theme : "advanced", plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template", // Theme options theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Example content CSS (should be your site CSS) content_css : "css/content.css", // Drop lists for link/image/media/template dialogs template_external_list_url : "lists/template_list.js", external_link_list_url : "lists/link_list.js", external_image_list_url : "lists/image_list.js", media_external_list_url : "lists/media_list.js", // Replace values for the template plugin template_replace_values : { username : "Some User", staffid : "991234" } }); </script> <!-- Navigation --> <div id="navigation"> <ul> <li><a href="index2.php"><span>INÍCIO</span></a></li> <li><a href="blog.php" class="active"><span>BLOG</span></a></li> <li><a href="eventos.php"><span>EVENTO</span></a></li> <li><a href="cadastro.php"><span>CADASTRAR NOVO USUÁRIO</span></a></li> <li><a href="dados_usuario.php"><span>ALTERAR DADOS</span></a></li> <li><a href="alterar_senha.php"><span>ALTERAR SENHA</span></a></li> <li><a href="logout.php"><span>SAIR</span></a></li> </ul> </div> <!-- End Navigation --> </div> </div> <!-- End Header --> <!-- Content --> <div id="content" class="shell"> <!-- Help Navigation --> <div id="help-nav"> <a href="index.php">INÍCIO</a> > <a href="blog.php">BLOG</a> > <a href="alterar_postagem.php">ALTERAR POSTAGEM</a> > POSTAGEM ID:<? echo $rows['id']; ?> </div> <!-- End Help Navigation --> <h6 class="red"></ol> <span class="red"><h1> <p>Alterar Postagem</p></h1></span> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="1"> <tr> <form id="topic" name="form1" method="post" action="confirmacao_alterar_postagem.php" enctype="multipart/form-data"> <td> <table width="80%" border="0" cellpadding="3" cellspacing="1"> <tr> <td colspan="3"><strong><span class="red"><h1>Título da Postagem</h1></span></strong></td> </tr> <tr> <td colspan="3"><strong> <h3> <input name="topic" type="text" id="topic" size="100" value="<? echo $rows['topic']; ?>" /> </h3></strong></td> </tr> <tr> <td height="20" colspan="3" valign="top"><strong> <span class="red"><h1>Resumo</h1> </span> (Cole o inicio do texto. Será acrecentado ler mais no final)</h3> </strong></td> </tr> <tr> <td colspan="3" valign="top"> <textarea name="detail" cols="55" rows="5" id="detail"><? echo $rows['detail']; ?></textarea> </td> </tr> <tr> <td colspan="3" valign="top"><strong> <span class="red"><h1>Digite o conteudo completo</h1></span> </strong></td> </tr> <tr> <td colspan="3" valign="top"><strong> <h3> <textarea name="complete" cols="55" rows="5" id="complete"><? echo $rows['complete']; ?></textarea> </h3> </strong></td> </tr> <tr> <td colspan="3"><strong><span class="red"><h1>Imagem</h1></span></strong></td> </tr> <tr> <td colspan="3"><input type="file" name="foto" value="<? echo $rows['foto']; ?>" /> <span class="obs">(168 x 113)</span></td> </tr> <tr> <td colspan="3"><strong><span class="red"><h1>Autor</h1></span></strong></td> </tr> <tr> <td colspan="3"><input name="name" type="text" id="name" size="53" value="<? echo $rows['name']; ?>" /> <span class="obs"> (Somente se foi escrito por você)</span></span></span></span></td> </tr> <tr> <td colspan="3"><strong><span class="red"><h1>Email</h1></span></strong></td> </tr> <tr> <td colspan="3"><input name="email" type="text" id="email" size="53" value="<? echo $rows['email']; ?>" /> <span class="obs"> (Não Obrigatório)</span></td> </tr> <tr> <td width="19%"> </td> <td width="1%"> </td> <td width="80%"><p> <input name="Submit" type="image" class="button rarr" value="Postar no Blog" src="images/atualizar-btn.png" /> </p> </td> </tr> </table> </td> </form> </tr> </table> <p> </p> </div> <!-- End Content --> </div> <!-- Footer --> <div id="footer"> <p>©Painel de Controle ..::IPRISM::..</p> </div> <!-- End Footer --> </body> </html> confirmacao_alterar_postagem.php é que recebe os dados e altera no banco de dados <? include ('include/footer.php') ?> <?php $host="localhost"; // Host name $username="proativa_blog"; // Mysql username $password="q4w3e2r1"; // Mysql password $db_name="proativa_blog"; // Database name $tbl_name="forum_question"; // Table name // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); // get value of id that sent from address bar $id=$_GET['id']; $sql="SELECT * FROM $tbl_name WHERE id='$id'"; $result=mysql_query($sql); $rows=mysql_fetch_array($result); $id = (int) $_GET['id']; ?> <? // faz consulta no banco $consulta = mysql_query("select * from forum_question where id = '$id'"); ?> <!-- EDITOR HTML--> <script type="text/javascript" src="../tiny_mce/tiny_mce.js"></script> <script type="text/javascript"> tinyMCE.init({ // General options mode : "textareas", theme : "advanced", plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template", // Theme options theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, // Example content CSS (should be your site CSS) content_css : "css/content.css", // Drop lists for link/image/media/template dialogs template_external_list_url : "lists/template_list.js", external_link_list_url : "lists/link_list.js", external_image_list_url : "lists/image_list.js", media_external_list_url : "lists/media_list.js", // Replace values for the template plugin template_replace_values : { username : "Some User", staffid : "991234" } }); </script> <!-- Navigation --> <div id="navigation"> <ul> <li><a href="index2.php"><span>INÍCIO</span></a></li> <li><a href="blog.php" class="active"><span>BLOG</span></a></li> <li><a href="eventos.php"><span>EVENTO</span></a></li> <li><a href="cadastro.php"><span>CADASTRAR NOVO USUÁRIO</span></a></li> <li><a href="dados_usuario.php"><span>ALTERAR DADOS</span></a></li> <li><a href="alterar_senha.php"><span>ALTERAR SENHA</span></a></li> <li><a href="logout.php"><span>SAIR</span></a></li> </ul> </div> <!-- End Navigation --> </div> </div> <!-- End Header --> <!-- Content --> <div id="content" class="shell"> <!-- Help Navigation --> <div id="help-nav"> <a href="index.php">INÍCIO</a> > <a href="blog.php">BLOG</a> > <a href="alterar_postagem.php">ALTERAR POSTAGEM</a> > POSTAGEM ID:<? echo $rows['id']; ?> </div> <!-- End Help Navigation --> <h6 class="red"></ol> <span class="red"><h1> <p>Alterar Postagem</p></h1></span> <?php while($linha = mysql_fetch_object($consulta)) { ?> <? $topic = htmlspecialchars($_POST['topic']); $detail = $_POST['detail']; $complete = $_POST['complete']; $foto = $_POST['foto']; $name = $_POST['name']; $email = $_POST['email']; // verifica o Título if($topic == "") { echo "Não é permitido deixar o Tópico em Branco!"; exit; } // verifica o Resumo if($topic == "") { echo "Não é permitido deixar o Resumo em Branco!"; exit; } // verifica o Conteúdo if($topic == "") { echo "Não é permitido deixar o Resumo em Conteúdo!"; exit; } // verifica o Autor if($topic == "") { echo "Não é permitido deixar o Resumo em Autor!"; exit; } // faz consulta para atualizar os dados $sql = "update forum_question set topic = '$topic', detail = '$detail', complete = '$complete', name = '$name', email = '$email' where id = '$id'"; $consulta = mysql_query($sql); // verifica se foi atualizado os dados if($consulta) { echo " Postagem atualizados com Sucesso!<br> Click <a href=http://iprism.com.br/admin/alterar_postagem.php>aqui</a> para retornar!"; exit; } else { echo " Não foi possivel atualizar os dados!<br> Click <a href=http://iprism.com.br/admin/alterar_postagem.php>aqui</a> para retornar!"; exit; } ?> <?php } ?> <p> </p> </div> <!-- End Content --> </div> <!-- Footer --> <div id="footer"> <p>©Painel de Controle ..::IPRISM::..</p> </div> <!-- End Footer --> </body> </html>Mais uma vez, agradeço muito pela ajuda! Editado Novembro 28, 2012 por kel777 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 blew Postado Novembro 28, 2012 Denunciar Share Postado Novembro 28, 2012 me desculpa cara, mas não espere que eu perca meu tempo vendo esse montão de código que você pegou por ai na internet.já te dei as dicas, agora você precisa se empenhar/estudar/pesquisar e saber arrumar/ajustar teu código. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kel777 Postado Novembro 28, 2012 Autor Denunciar Share Postado Novembro 28, 2012 Ta certo cara, desculpa minha folga. rsvou tentar aqui, caso eu consiga eu posto oque eu fiz. Brigadão cara! fica na pazme desculpa cara, mas não espere que eu perca meu tempo vendo esse montão de código que você pegou por ai na internet.já te dei as dicas, agora você precisa se empenhar/estudar/pesquisar e saber arrumar/ajustar teu código. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
kel777
Olá pessoal. Tenho em meu site um sistema de postagem.
E para deixa-lo mais fácil estou criando dentro do admin uma forma dos usuários alterarem os posts,
assim se algum estiver com erro é fácil para alterar.
Até então deu tudo certo, alterou os dados como eu queria.
O problema é que alterou todos os posts. No caso eu alterei só o título, e todos os posts ficaram com o mesmo título.
Segue o código abaixo:
Obrigado!
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.