Ir para conteúdo

POWERED BY:

Arquivado

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

Tiago j.a

[Resolvido] Campo banco vazio

Recommended Posts

Bom dia pessoal, eu estou tentando fazer uma verificação, para alterar dados do banco. Se essa verificação for verdadeira ele altera, se não não.

Essa verificação é a seguinte, se o campo peri, estiver vazio, não altera, se não , altera. Eu estou usando o LENGHT, estou fazendo conforme mostro abaixo, mas não estou tendo muito sucesso, se tiro a verificação ele altera, se coloco ele não altera.

Alguém poderia me ajudar?

Desde já obrigado pessoal!

$altera2 = "UPDATE equipamento SET data_ini = '".$_POST['data'][$IdArray]."' WHERE equipamento = '".$_POST['equipamento'][$IdArray]."'  and LENGHT(e.peri) > 0 and fornecedor = '$fornecedor[0]'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ai cara?!

 

tenta fazer o seguinte

<?php
$variavel=$_POST['campo'];
:
:
:
?>
tenta pegar os post antes e depois você usa as variaveis

Compartilhar este post


Link para o post
Compartilhar em outros sites

o código que verifica é esse mesmo.

se o campo peri no banco estiver vazio, ele não pode alterar, pois ainda não foi criado, se estiver algum valor, ele altera.

A verificação seria basicamente isso:

and LENGTH(e.peri) > 0

Se coloco isso, e o campo no banco não está vazio, ele não altera, e o que quero fazer é que se estiver com algum valor altere, se estiver vazio, não altere.

 

O uso do LENGHT está correto?

tem algum outro que possa utilizar para fazer isso?

desde já obrigado amigo!

 

e ai cara?!

 

tenta fazer o seguinte

<?php
$variavel=$_POST['campo'];
:
:
:
?>
tenta pegar os post antes e depois você usa as variaveis

 

olá amigo, é que eu tenho que fazer esta verificação dentro de uma consulta no banco.

tipo esta que estou fazendo:

 

$altera2 = "UPDATE equipamento SET data_ini = '".$_POST['data'][$IdArray]."' WHERE equipamento = '".$_POST['equipamento'][$IdArray]."'  and LENGHT(e.peri) > 0 and fornecedor = '$fornecedor[0]'";

Compartilhar este post


Link para o post
Compartilhar em outros sites

porque não tenta fazer em partes? Eu faria usando PHP da seguinte forma:

 

1° Um select no campo peri e colocaria em uma variavel e checaria seu estado, em branco ou não:

$sql = "SELECT peri from equipamento";
$query = mysql_query($sql);
if(empty($query)){
    //Aki executa o código de update 
    $sql2 = "UPDATE equipamento SET data_ini = '".$_POST['data'][$IdArray]."' WHERE equipamento  = '".$_POST['equipamento'][$IdArray]."' and peri = '".$query."' and fornecedor = '$fornecedor[0]'";
   $query2 = mysql_query($sql2);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando faço sem o LENGHT, ele altera normal, mas também altera os campos que estão vazios, o que "não seria permitido", teria que alterar apenas os campos que estiverem com algum valor!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vai ser num WHERE do UPDATE que você conseguirá fazer essa verificação não.

 

Faça um SELECT antes para saber se você precisa ou não alterar, e só então faça o UPDATE.

 

Não precisa usar o LENGHT, pode fazer um WHERE no SELECT vendo se o valor do campo é diferente de vazio por exemplo.

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.