Bizonho 0 Denunciar post Postado Maio 29, 2006 estou tentando editar uns campos no sql e não estou conseguindo ja refiz o script 4x e nao acho o erro, oque será? formulario echo "<table width=\"550\" border=\"$bd\" cellspacing=\"0\" cellpadding=\"0\">\n"; echo "<form name=\"alterar\" method=\"post\" action=\"x.alterando.noticias.php?id=$id&menu=$menu&alterar=$alterar\">\n"; echo "<tr>\n"; echo "<td colspan=\"2\" height=\"70\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td colspan=\"2\" align=\"center\"><img src=\"imgs/alterar.gif\" width=\"220\" height=\"40\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td colspan=\"2\" height=\"55\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td width=\"120\" height=\"25\" class=\"texto\"> Data</td>\n"; echo "<td width=\"430\"><input name=\"xdata\" value=\"$vr[data]\" type=\"text\" maxlength=\"10\" class=\"campo2\" onkeypress=\"return txtBoxFormat(document.incluir, 'xdata', '99.99.9999', event);\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td height=\"110\" bgcolor=\"#F2F2F2\" class=\"texto\"> Descrição</td>\n"; echo "<td bgcolor=\"#F2F2F2\"><textarea name=\"desc\" rows=\"5\" class=\"camposaltura\">$vr[desc]</textarea></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td height=\"180\" class=\"texto\"> Notícia</td>\n"; echo "<td><textarea name=\"noticia\" rows=\"10\" class=\"camposaltura\">$vr[noticia]</textarea></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td height=\"25\" bgcolor=\"#F2F2F2\" class=\"texto\"> Fonte</td>\n"; echo "<td bgcolor=\"#F2F2F2\"><input name=\"fonte\" value=\"$vr[fonte]\" type=\"text\" size=\"30\" class=\"campo2\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td colspan=\"2\" height=\"50\"></td>\n"; echo "</tr>\n"; echo "<tr>\n"; echo "<td height=\"25\"></td>\n"; echo "<td><input type=\"image\" src=\"imgs/alterando.gif\" width=\"80\" height=\"18\" border=\"0\"></td>\n"; echo "</tr>\n"; if ($msg == ok) { echo "<tr>\n"; echo "<td colspan=\"2\" height=\"50\" align=\"center\" class=\"erro\">Alterado com sucesso!</td>\n"; echo "</tr>\n"; } echo "<tr>\n"; echo "<td colspan=\"2\" height=\"100\"></td>\n"; echo "</tr>\n"; echo "</form>\n"; echo "</table>\n"; alterando <?require ('session.php');$alt = "UPDATE noticias SET data='$xdata', desc='$desc', noticia='$noticia', fonte='$fonte' WHERE id='$alterar'";$res = mysql_db_query( "estrela_estrela", $alt, $link );mysql_close($link);Header("Location: alterando.noticias.php?id=$id&menu=$menu&alterar=$alterar&msg=ok");?> campos no MySQL id - smallint(5) - auto_increment data - varchar(20) desc - text noticia - text fonte - varchar(50) Compartilhar este post Link para o post Compartilhar em outros sites
Bizonho 0 Denunciar post Postado Maio 30, 2006 ninguem sabe? ja tentei recriar a tabela e não consigo to ficando loco ja :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Maio 30, 2006 você precisa pegar os dados vindos do formulario usando $_POST exemplo: $desc = $_POST["desc"]; você esta trabalhando com register_globals = on, mas por segurança ele esta desativado e recomendo nunca mais usar esse recurso, sendo assim você precisa pegar os dados vindos de post com $_POST e get com $_GET Compartilhar este post Link para o post Compartilhar em outros sites
Bizonho 0 Denunciar post Postado Maio 30, 2006 não funcionou não Fabyo :( $xdata = $_POST["xdata"];$desc = $_POST["desc"];$noticia = $_POST["noticia"];$fonte = $_POST["fonte"];$alt = "UPDATE noticias SET data='$xdata', desc='$desc', noticia='$noticia', fonte='$fonte' WHERE id='$alterar'";$res = mysql_db_query( "estrela_estrela", $alt, $link );mysql_close($link); Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Maio 30, 2006 mas que erro que deu? testa as variaveis e da um echo no sql para ver como ta e qual o campo da data no seu banco de dados?, o campo correto para guardar datas é o DATE e o padrao é 0000-00-00 ou seja ANO-MES-DIA dica: mysql_db_query Esta função é obsoleta desde PHP 4.0.6. Não use mais esta função Compartilhar este post Link para o post Compartilhar em outros sites
Bizonho 0 Denunciar post Postado Maio 30, 2006 é por que estou utilizando a data da seguinte forma xx.xx.xxxx poderia ter feito uma replace, mas não tem tanta necessidade assim.como dou echo no sql equal função posso utilizar no lugar do mysql_db_query? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Maio 30, 2006 como nao, se você gravar a data fora do padra correto que seria o DATE o banco de dados vai tratar aquele campo como um texto qualquer, sendo assim você nao tera nenhuma função feita para manipular datas e sobre a função você pode usar mysql_query e mysql_select_db Compartilhar este post Link para o post Compartilhar em outros sites
Bizonho 0 Denunciar post Postado Maio 30, 2006 utilizei o mysql_query e mesmo assim não consegui ele volta a mensagem de atualizado com sucesso que tem no rodape da paginaHeader("Location: alterando.noticias.php?id=$id&menu=$menu&alterar=$alterar&msg=ok");te adicionei no msn pra poder te enviar o arquivo.php caso queira ver. eu quebrei a cabeça ontem o dia todo com isto e é so essa tabela que não to conseguindo atualizar as outras estou normalmente. Compartilhar este post Link para o post Compartilhar em outros sites
Bizonho 0 Denunciar post Postado Maio 30, 2006 apos muti sacrificio e perder minha tabela de noticia axei como contornar a situação. colocar `` na desc estou ate agora sem intender mas isso resolveu, nao entendo porque coloquei para gerar o codigo para modificar no phpmyadmin e ele gerou todos com `` mas o desc não posso tirar porque faz parar de funcionar. $alt = "UPDATE noticias SET data='$wdata', `desc`='$desc', noticia='$noticia', fonte='$fonte' WHERE id = '$alterar'"; Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Maio 30, 2006 você reparou que em um exemplo você ta usando $wdata e no outro $xdata ? nao tem nada haver usar ` pode deixar sem mesmo Compartilhar este post Link para o post Compartilhar em outros sites
Bizonho 0 Denunciar post Postado Maio 30, 2006 é que eu alterei o campo para data e fiz um replace que nem você havia falado para alterar co campo para data, por isso que recebe $wdata$wdata = implode(preg_match("~\/~", $xdata) == 0 ? "-" : "-", array_reverse(explode(preg_match("~\/~", $xdata) == 0 ? "-" : "-", $xdata))); Compartilhar este post Link para o post Compartilhar em outros sites