Patreze 0 Denunciar post Postado Agosto 23, 2005 Bom pessoal, estou com uma duvida em relação a fazer UPDATE em meu banco de dados e gostaria de uma ajuda http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Minha intencão é fazer uma consulta ao banco de dados ser exibida em caixas de texto. (até ai ok, esta feito no código abaixo) e após a consulta realizada um adiministrador poderia alterar os dados da caixa de texto e gravar esta alteração no banco de dados.Bom ai esta o meu problema, não sei como criar um botão com a função de UPDATE, é necessario um botão pra cada alteração ou um só faz o serviço. Se puderem me indicar como configurar este update agradecerei??Segue o código da consulta abaixo. <?php$pagetitle = " Muda Banco ";$connection = mysql_connect("localhost", "nomedobanco", "senha")or die("Não foi possível conectar ao servidor");$db = mysql_select_db("lucmarc", $connection)or die("Não foi possível conectar ao banco de dados");$sql = "SELECT imov_cod, imov_valor, imov_descr, path_img, path_img1, path_img2, path_img3, path_img4, path_img5, path_img6 FROM imoveis WHERE imov_cod='$id'";$sql_result = mysql_query($sql, $connection)or die("Não foi possível consultar");while ($row = mysql_fetch_array($sql_result)) {$codigo = $row["imov_cod"];$valor = $row["imov_valor"];$descr = $row["imov_descr"];$thumb = $row["path_img"];$img1 = $row["path_img1"];$img2 = $row["path_img2"];$img3 = $row["path_img3"];$img4 = $row["path_img4"];$img5 = $row["path_img5"];$img6 = $row["path_img6"];echo " <p> Código:<input type=\"text\" name=\"textfield\" value=\"$codigo\" size=\"10\"></p><p> Valor R$:<input type=\"text\" name=\"textfield2\" value=\"$valor\" size=\"15\"></p><p> Descrição:<textarea name=\"textfield3\" rows=\"5\" cols=\"50\">$descr</textarea></p><p> Thumbs:<input type=\"text\" name=\"textfield4\" value=\"$thumb\" size=\"50\"></p><p>Foto 1:<input type=\"text\" name=\"textfield5\" value=\"$img1\" size=\"50\"></p><p>Foto 2:<input type=\"text\" name=\"textfield6\" value=\"$img2\" size=\"50\"></p><p>Foto 3:<input type=\"text\" name=\"textfield7\" value=\"$img3\" size=\"50\"></p><p>Foto 4:<input type=\"text\" name=\"textfield8\" value=\"$img4\" size=\"50\"></p><p>Foto 5:<input type=\"text\" name=\"textfield9\" value=\"$img5\" size=\"50\"></p><p>Foto 6:<input type=\"text\" name=\"textfield10\" value=\"$img6\" size=\"50\"></p>";}mysql_free_result($sql_result);mysql_close($connection);Desde já agradeço por qualquer ajuda http://forum.imasters.com.br/public/style_emoticons/default/excl.gif Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Agosto 23, 2005 Cria um form no teu script e seta o action dele para uma outra página que irá receber os dados deste teu formulário por post e dar o update. Para mais veja: http://br.php.net/manual/pt_BR/reserved.va....variables.post Faça uma pesquisa no fórum php que existem vários tópicos com isto também. Qualquer dúvida poste novamente. Compartilhar este post Link para o post Compartilhar em outros sites
Patreze 0 Denunciar post Postado Agosto 23, 2005 Ok Walace, eu olhei e não vi algo parecido com minha duvida, pelo menos que tenha identificado. Bom eu ja tinha tentado fazer o que você sugeriu mas os valores das variaveis não estão passando e logo o Update não ocorre.acrescentei a seguinte linha no codigo de cima, acima da declaração php e o fechei ao termino da declaração php. <form method="post" action="altera.php"></form>E aqui está o script do altera.php tem alguma coisa faltando que eu não consigo identificar?????? O que???????<?php$pagetitle = " Muda Banco ";$connection = mysql_connect("localhost", "nomedobanco", "senha")or die("Não foi possível conectar ao servidor");$db = mysql_select_db("lucmarc", $connection)or die("Não foi possível conectar ao banco de dados");$troca = "UPDATE imoveis SET imov_valor = '$valor', imov_descr = '$descr', path_img = '$thumb', path_img1 = '$img1', path_img2 = '$img2', path_img3 = '$img3', path_img4 = '$img4', path_img5 = '$img5', path_img6 = '$img6' WHERE imov_cod='1l1q51'";$sql_troca = mysql_query($troca, $connection)or die("Não foi possível trocar");echo "testando";mysql_close($connection);?>Mais uma vez agradeço pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Agosto 23, 2005 //Recupera dados do post $usucod = $_POST['usucod'];$usunom = $_POST['usunom'];...//Altera base $query = "UPDATE usuario SET usunom='$usunom',usupri=$usupri,"; $query.= " inscod=$inscod WHERE usucod=$usucod"; mysql_query($query, $conexao);... Talvez só falte você recuperar os dados do form, para os campos $valor e tal. Mas antes de dar o update dá um echo nas variaveis que vem do form e vê se estão vindo corretamente. Compartilhar este post Link para o post Compartilhar em outros sites
Patreze 0 Denunciar post Postado Agosto 24, 2005 Seguindo sua sugestão o codigo ficou assim da pagina da consulta //abrindo o formulario post<form method="post" action="altera.php"><?php$pagetitle = " Muda Banco ";//fazendo a conecção com o banco de dados$connection = mysql_connect("localhost", "banco", "senha")or die("Não foi possível conectar ao servidor");$db = mysql_select_db("lucmarc", $connection)or die("Não foi possível conectar ao banco de dados");$sql = "SELECT imov_cod, imov_valor, imov_descr, path_img, path_img1, path_img2, path_img3, path_img4, path_img5, path_img6 FROM imoveis WHERE imov_cod='1l1q51'";$sql_result = mysql_query($sql, $connection)or die("Não foi possível consultar");//passando a consulta para as variáveiswhile ($row = mysql_fetch_array($sql_result)) {$codigo = $row["imov_cod"];$valor = $row["imov_valor"];$descr = $row["imov_descr"];$thumb = $row["path_img"];$img1 = $row["path_img1"];$img2 = $row["path_img2"];$img3 = $row["path_img3"];$img4 = $row["path_img4"];$img5 = $row["path_img5"];$img6 = $row["path_img6"];//exibinda a consultaecho " <p> Código: <input type=\"text\" name=\"textfield\" value=\"$codigo\" size=\"10\"></p><p> Valor R$: <input type=\"text\" name=\"textfield2\" value=\"$valor\" size=\"15\"></p><p> Descrição: <textarea name=\"textfield3\" rows=\"5\" cols=\"50\">$descr</textarea></p><p> Thumbs: <input type=\"text\" name=\"textfield4\" value=\"$thumb\" size=\"50\"></p><p>Foto 1: <input type=\"text\" name=\"textfield5\" value=\"$img1\" size=\"50\"></p><p>Foto 2: <input type=\"text\" name=\"textfield6\" value=\"$img2\" size=\"50\"></p><p>Foto 3: <input type=\"text\" name=\"textfield7\" value=\"$img3\" size=\"50\"></p><p>Foto 4: <input type=\"text\" name=\"textfield8\" value=\"$img4\" size=\"50\"></p><p>Foto 5: <input type=\"text\" name=\"textfield9\" value=\"$img5\" size=\"50\"></p><p>Foto 6: <input type=\"text\" name=\"textfield10\" value=\"$img6\" size=\"50\"></p><input type=\"submit\" name=\"Submit\" value=Alterar>";}//fechando coneção com a]o banco de dadosmysql_free_result($sql_result);mysql_close($connection);?>//fechando o formulario</form>Até ai ok, a consulta esta sendo realizada com perfeição e sendo exibidas nas caixas de textos como eu queria. Agora minha intenção é fazer as mudificações na caixa de texto e manda-las pra pagina altera.php para fazer o update. O botão submit esta chamando sem problema a pagina altera.php, mas as variaveis ainda não passam mesmo seguindo sua dica. o Codigo esta assim do altera.php <?php// conectando com o banco de dados$pagetitle = " Muda Banco ";$connection = mysql_connect("localhost", "lucmarc", "admin12qaz34")or die("Não foi possível conectar ao servidor");$db = mysql_select_db("lucmarc", $connection)or die("Não foi possível conectar ao banco de dados");// recebendo as variaveis da pagina principal através de post $valor = $_POST['valor'];$descr = $_POST['descr'];$thumb = $_POST['thumb'];$img1 = $_POST['img1'];$img2 = $_POST['img2'];$img3 = $_POST['img3'];$img4 = $_POST['img4'];$img5 = $_POST['img5'];$img6 = $_POST['img6'];// realizando o update$troca = "UPDATE imoveis SET imov_valor = '$valor', imov_descr = '$descr', path_img = '$thumb', path_img1 = '$img1', path_img2 = '$img2', path_img3 = '$img3', path_img4 = '$img4', path_img5 = '$img5', path_img6 = '$img6' WHERE imov_cod='1l1q51'";$sql_troca = mysql_query($troca, $connection)or die("Não foi possível trocar");//exibo a troca feita pelo updateecho "testando $valor, $descr, $thumb, $img1, $img2, $img3, $img4, $img5, $img6";mysql_close($connection);?> Bom é isso, as variaveis não estão sendo passadas e eu não sei se o erro esta no envio ou no recebimento. E agradeço a qualquer ajuda que possa receber. Compartilhar este post Link para o post Compartilhar em outros sites
Patreze 0 Denunciar post Postado Agosto 30, 2005 Bom pessoal, este erro eu consegui resolver e a ajuda de vcs foi por demais uteis. Os códigos postados acima estão perfeitos com excessão de um erro na chamada. Eu estava querendo chamar as variáveis de uma pagina pra outra através dos valores atribuidos as caixas de texto, enquanto o correto é chamar pelo nome. Assim que foi corrigido este erro de sintaxe funcionou com perfeição a consulta e alteração. Substituir esta: $valor = $_POST['valor']; $descr = $_POST['descr']; $thumb = $_POST['thumb']; $img1 = $_POST['img1']; $img2 = $_POST['img2']; $img3 = $_POST['img3']; $img4 = $_POST['img4']; $img5 = $_POST['img5']; $img6 = $_POST['img6']; Por esta: $codigo = $_POST['textfield']; $valor = $_POST['textfield2']; $descr = $_POST['textfield3']; $thumb = $_POST['textfield4']; $img1 = $_POST['textfield5']; $img2 = $_POST['textfield6']; $img3 = $_POST['textfield7']; $img4 = $_POST['textfield8']; $img5 = $_POST['textfield9']; $img6 = $_POST['textfield10']; Bom a parte SQL esta correta. Mas estou agora com problemas pra inserir este código dentro do phpnuke. Quem tiver interesse em me ajudar ou acompanhar a resolução deste novo problema eu vou postar na parte do php e por o link aqui http://forum.imasters.com.br/index.php?showtopic=144714. Valeu pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites