Jump to content
PetaByte

UPDATE - PHP

Recommended Posts

PetaByte

Boa Noite,

Sempre que altero os dados de uma BD, ele altera todos ou coloca os campos a 0 até chegar à linha

if (isset($_POST['editar']))
			{



				$pretende_mudar=$_POST['para_mudar']; //option
				$novo_valor_mudar=$_POST['novo_valor']; //novo dado
				$id_alterar=$_POST['ID_alterar']; // ID alterar


				if($valor_mudar="idade")
				{
					$altera="UPDATE associados set idade='$novo_valor_mudar' where id='$id_alterar'";
					mysql_query($altera) or die(mysql_error());
				}

				if($valor_mudar="primeiro_nome")
				{
					$altera="UPDATE associados set primeiro_nome='$novo_valor_mudar' where id='$id_alterar'";
					mysql_query($altera) or die(mysql_error());

				}

Ou seja, ao alterar o primeiro_nome, ele coloca a idade a 0 e depois é que altera o primeiro_nome.

Edited by yoda

Share this post


Link to post
Share on other sites
PetaByte

Olá,

Obrigado. Já corrigi para == , mas agora não actualiza :/

<center><table width="340" border="0">
<tr>
<td><b>ID Associado:</b></td>
<td><input name="ID_alterar" type="text" placeholder="ID Associado" autofocus="1"></td>
</tr>
<tr>
<td><b>A actualizar:</b></td>
<td><select name="para_mudar">
<option value="email">Email</option>
<option value="primeiro_nome">Primeiro Nome</option>
<option value="ultimo_nome">Último Nome</option>
<option value="idade">Idade</option>
<option value="concelho">Concelho</option>
<option value="nacionalidade">Nacionalidade</option>
<option value="telemovel">Telemóvel</option>
<option value="contribuinte">Contribuinte</option>
</select></td>
</tr>
<tr>
<td><b>Novo dado:</b></td>
<td><input name="novo_valor" placeholder="Valor a mudar" autofocus></td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" name="editar" value="Editar Associado"/></center></td>
</tr>
</table></center>

if (isset($_POST['editar']))
{


$pretende_mudar=$_POST['para_mudar']; //option
$novo_valor_mudar=$_POST['novo_valor']; //novo dado
$id_alterar=$_POST['ID_alterar']; // ID alterar


if($valor_mudar=="idade")
{
$altera="UPDATE associados set idade='$novo_valor_mudar' where id='$id_alterar'";
mysql_query($altera) or die(mysql_error());
}

if($valor_mudar=="primeiro_nome")
{
$altera="UPDATE associados set primeiro_nome='$novo_valor_mudar' where id='$id_alterar'";
mysql_query($altera) or die(mysql_error());

}

if($valor_mudar=="ultimo_nome")
{
mysql_query("UPDATE associados SET ultimo_nome='$novo_valor_mudar' WHERE id='$id_alterar'");
}

if($valor_mudar=="concelho")
{
mysql_query("UPDATE associados SET concelho='$novo_valor_mudar' WHERE id='$id_alterar'");
}

if($valor_mudar=="nacionalidade")
{
mysql_query("UPDATE associados SET nacionalidade='$novo_valor_mudar' WHERE id='$id_alterar'");
}

if($valor_mudar=="telemovel")
{
mysql_query("UPDATE associados SET telemovel='$novo_valor_mudar' WHERE id='$id_alterar'");
}

if($valor_mudar=="contribuinte")
{
mysql_query("UPDATE associados SET contribuinte='$novo_valor_mudar' WHERE id='$id_alterar'");
}

if($valor_mudar=="email")
{
mysql_query("UPDATE associados SET email='$novo_valor_mudar' WHERE id='$id_alterar'");
}

}

Edited by brunoais
tags code + geshi

Share this post


Link to post
Share on other sites
bioshock

http://php.net/manual/pt_BR/control-structures.switch.php

switch($valor_mudar)
{
  case "idade": $altera = "UPDATE associados set idade='$novo_valor_mudar' where id='$id_alterar'";
					 mysql_query($altera) or die(mysql_error());
					break;
  case "primeiro_nome": $altera="UPDATE associados set primeiro_nome='$novo_valor_mudar' where id='$id_alterar'";
								   mysql_query($altera) or die(mysql_error());
								  break;
}

Mas antes disto tudo, a variável $valor_mudar, pelo que vejo, não existe.

http://stuffpinho.com/php-the-way-mysqli-works-part-1-introduction/

http://stuffpinho.com/php-the-way-mysqli-works-part-2-connections/

http://stuffpinho.com/php-the-way-mysqli-works-part-4-queries/

Share this post


Link to post
Share on other sites
PetaByte

Pois, porque estive a alterar e só testei os 2 primeiros. Vou experimentar, obrigado. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.