Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nillribeiro

[Resolvido] (Novatissimo) Problemas no update

Recommended Posts

Olá galera, sou novatissimo no php, mais estou disposto a aprender, rs, e por isso estou levando uma boa surra do php.

 

Mais é o seguinte, estou querendo criar um simples adminstrativo para administrar o top dez.

Ou seja terá o formulário com as 10 músicas no site e pelo painel irei dar um update nas músicas.

 

Mais só que não funciona, se está ex: $musica_um ele não up e apaga o que ta no banco de dados e se eu tirar o $ ele imprime o musica_um no banco de dados, então pensando assim há uma conexão no banco de dados né,

 

Mais preciso saber onde, pois já é o quarto dia que apanho, rs.

 

Segue código:

 

Codigo topdez.php

 

<?

 

$conexao = mysql_connect("localhost","topdez","");

$db = mysql_select_db("site_radio");

$sql = "SELECT * FROM `topdez`";

$resultado = mysql_query($sql)

or die ("não foi possivél realizar a consulta");

 

while($linha = mysql_fetch_array($resultado)){

$musica_um = $linha["musica_um"];

$musica_dois = $linha["musica_dois"];

 

echo "<h1> Top Dez Músicas...</h1>";

echo "<hr><br>";

echo "<form action='update_topdez.php' method='post'>";

echo "Música 1: <input name='$musica_um' type= 'text'value='$musica_um' size=30> *<br>";

echo "Música 2: <input name='$musica_dois' type= 'text'value='$musica_dois' size=30> *<br>";

echo "<input type='submit'value='alterar'>";

echo "</form>";

echo "<br><hr>";

}

?>

 

 

código update_topdez.php

 

<HTML>

<HEAD>

<TITLE>Untitled Document</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

</HEAD>

 

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">

<?

$conexao = mysql_connect("localhost","topdez","");

$db = mysql_select_db("site_radio");

$sql = "UPDATE topdez SET musica_um='musica_um',musica_dois='musica_dois'";

$resultado = mysql_query ($sql)

or die ("não foi possivél realizar a consulta");

echo "

<script>

alert(\"Top 10 Atualizado com Sucesso!\");

window.location = 'topdez.php';

</script>";

?>

</BODY>

</HTML>

 

 

Sei que é besteira, mais como to começando não sei o que é, já apanhei igual um doido, mais to disposto a apanhar mais para aprender.

Certo da ajuda de alguém agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

echo "<form action='update_topdez.php' method='post'>";

echo "Música 1: <input name='$musica_um' type= 'text'value='$musica_um' size=30> *<br>";

echo "Música 2: <input name='$musica_dois' type= 'text'value='$musica_dois' size=30> *<br>";

echo "<input type='submit'value='alterar'>";

echo "</form>";

echo "<br><hr>";

}

?>

 

 

código update_topdez.php

 

 

$conexao = mysql_connect("localhost","topdez","");

$db = mysql_select_db("site_radio");

$sql = "UPDATE topdez SET musica_um='musica_um',musica_dois='musica_dois'";

$resultado = mysql_query ($sql)

Você não pegou o valor das variáveis retornadas dos campos pelo que faltou no update_topdez.php:

 

$m1 = $_POST['musica_um'];

$m2 = $_POST['musica_dois'];

 

$sql = "UPDATE topdez SET musica_um='$m1',musica_dois='$m2'";

$resultado = mysql_query ($sql)

 

não vi a estrutura do seu banco de dados, mas voce deveria ter aí uma chave primária para na hora de fazer o update poder indicar qual o registro que vai ser atualizado (exemplo: WHERE id='$id').

 

De qualquer maneira o $_POST era um dos passos que faltava

Compartilhar este post


Link para o post
Compartilhar em outros sites

BlackShadow, muito obrigado pela resposta, na verdade o banco de dados fiz assim:

 

CREATE TABLE `topdez` (

`codigo` INT(5) NOT NULL auto_increment,

`musica_um` VARCHAR (30) NOT NULL,

`musica_dois` VARCHAR (30) NOT NULL,

`musica_tres` VARCHAR (30) NOT NULL,

`musica_quatro` VARCHAR (30) NOT NULL,

`musica_cinco` VARCHAR (30) NOT NULL,

`musica_seis` VARCHAR (30) NOT NULL,

`musica_sete` VARCHAR (30) NOT NULL,

`musica_oito` VARCHAR (30) NOT NULL,

`musica_nove` VARCHAR (30) NOT NULL,

`musica_dez` VARCHAR (30) NOT NULL,

PRIMARY KEY (`codigo`)

);

 

então o código seria a chave primaria né, só que quando uso, assim:

 

<?

$conexao = mysql_connect("localhost","topdez","");

$db = mysql_select_db("site_radio");

$sql = "UPDATE topdez SET musica_um='musica_um',musica_dois='musica_dois'WHERE codigo='$codigo'";

$resultado = mysql_query ($sql)

or die ("não foi possivél realizar a consulta");

echo "

<script>

alert(\"Top 10 Atualizado com Sucesso!\");

window.location = 'topdez.php';

</script>";

?>

 

com o where da o erro não foi possivél realizar a consulta.

 

Fiz a modificação que você falou, só que na hora de dar update ele apaga, obs: sem o where porque com o where ele nem muda.

Att

Nill Ribeiro

Compartilhar este post


Link para o post
Compartilhar em outros sites

daí falta colocar no seu formulario um campo hidden que receba o codigo :

 

<input type="hidden" value="<?=$codigo?>" name="codigo" />

 

e dai receber tambem via $_POST['codigo'] o campo codigo e usar no WHERE

 

isso já deverá resolver o problema

exemplo:

 

<input type="hidden" value="codigo" name="codigo" />

 

-------------------

 

$codigo = $_POST['codigo'];

mysql_query("UPDATE tabela SET valores WHERE codigo=$codigo");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.