Jump to content
Tekku

[Dúvida] Apagar campo da BD

Recommended Posts

Tekku

Boas, tenho o seguinte código:

if ( ($serverdata["expire"] - time()) < 0 && $serverdata["expire"] != 0 && $serverdata["expire"] != "none")
	{
		$serv_status .= " - Expired";
		$expired = true;
		mysql_query("UPDATE cc_servers SET expired='1' Where expired=''");

	}

Eu queria que quando aquela variável $expired fosse verdadeira, que ele alterasse o campo expired do servidor que expirou para 1, para depois apagar apenas os servidores que tiverem o campo expired como 1, já tentei assim como tenho, mas ele assim define todos os servidores que têm o campo expired = "" mudam para 1 :S e depois apaga tudo, alguém consegue dar uma mãozinha?

Cumps

Share this post


Link to post
Share on other sites
Rechousa

Não tens de especificar qual é o registo que pretendes alterar? Assim estás a alterar em todos.

Deve ser algo do género, não?

mysql_query("UPDATE cc_servers SET expired='1' Where idServidor=$idServidor AND expired=''");


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Share this post


Link to post
Share on other sites
Tekku

Mas essa parte do $idServidor não tem que estar algures neste ficheiro php uma variável com o id do servidor?

Cumps ( sorry se for uma pergunta parva mas sou um bocado para o lado do grande newbie nisto" ^^

Share this post


Link to post
Share on other sites
Rechousa

Mas essa parte do $idServidor não tem que estar algures neste ficheiro php uma variável com o id do servidor?

Julgo que sim. Como é que identificas o registo que pretendes alterar? Deves ter uma forma de o identificar univocamente, certo?


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Share this post


Link to post
Share on other sites
Tekku

Então se eu for buscar à base de dados o id do servidor será que funciona, mesmo sem este estando em nenhuma parte do código...

Cumps

EDIT1:

if ( ($serverdata["expire"] - time()) < 0 && $serverdata["expire"] != 0 && $serverdata["expire"] != "none")
	{
		$serv_status .= " - Expired";
		$expired = true;
		mysql_select_db("cc_servers");
		$id = mysql_query("SELECT * FROM id");
		mysql_query("UPDATE cc_servers SET expired='1' Where id=$id AND expired=''");

	}

Algo deste género devia funcionar? :S

EDIT2: Estranho como tenho ai ele não tá a fazer nada ;) nem altera nenhum item para 1 B)

Share this post


Link to post
Share on other sites
kareka

Tens alguma tabela id por acaso ?

O teu id deve estar na tabela cc_servers .


<?php include("assinatura.txt"); ?>

Share this post


Link to post
Share on other sites
brunoais

Por favor!!! Lê primeiro o manual de instruções antes de fazeres algo dessa maneira. Esse código para a base de dados está a falhar em todo o lado:

http://php.net/mysql_query


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Tekku

Mas isso funcionava antes de eu adicionar esse novo código, atenção também que não está ai o código todo, eu queria era que alguém me desse uma ideia de como posso fazer para que ele marques os servidores expirados como expirados e os apague e que deixa os outros em paz :S

Share this post


Link to post
Share on other sites
brunoais

Primeiro corrige o código e mostra que corrigiste o código e depois eu ajudar-te-ei com o resto.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Tekku

Mas foi essa a parte que eu não percebi corrigir o quê?

Ele tá a fazer as ligações à BD correctamente, a única coisa que poderá estar errada é o novo código que adicionei com base no que outro membro aqui no fórum me disse, mas nessa parte já não tenho conhecimentos :S

Share this post


Link to post
Share on other sites
brunoais

Mas foi essa a parte que eu não percebi corrigir o quê?

Isto

		mysql_select_db("cc_servers");
		$id = mysql_query("SELECT * FROM id");
		mysql_query("UPDATE cc_servers SET expired='1' Where id=$id AND expired=''");

Cada linha do que citei é um erro.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Tekku

Embora já tenha estado a ler montes de vezes o link que me deste, vou tentar mais uma vez...

Só uma questão a última linha que apontas estar errada funciona, pelo menos sem a parte do AND...

Cumps (Não sou programador nem tenho experiência como tal, o que sei tenho vindo a aprender sozinho e a ler sobre isso por isso não levem a mal se fizer perguntas parvas)

Share this post


Link to post
Share on other sites
brunoais

por acaso funciona porque o mysql_query() está a devolver false e false para o Mysql é 0 e o id 0 pode existir.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

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.