kel777 Posted November 27, 2012 Report Share Posted November 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! Quote Link to comment Share on other sites More sharing options...
0 blew Posted November 27, 2012 Report Share Posted November 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! Quote Link to comment Share on other sites More sharing options...
0 kel777 Posted November 28, 2012 Author Report Share Posted November 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! Quote Link to comment Share on other sites More sharing options...
0 blew Posted November 28, 2012 Report Share Posted November 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']; Quote Link to comment Share on other sites More sharing options...
0 kel777 Posted November 28, 2012 Author Report Share Posted November 28, 2012 (edited) 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! Edited November 28, 2012 by kel777 Quote Link to comment Share on other sites More sharing options...
0 blew Posted November 28, 2012 Report Share Posted November 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. Quote Link to comment Share on other sites More sharing options...
0 kel777 Posted November 28, 2012 Author Report Share Posted November 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. Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.