Ir para conteúdo

POWERED BY:

Arquivado

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

jeffersonpd

Verificar se tem foto no registro ou se o Campo está NULL.

Recommended Posts

Bom. Estou fazendo uma agenda e nela tem o Campo para colocara foto do Contato.


Estou fazendo um Relatório somente de
contatos com foto e preciso de um Comando para verificar
e mostrar somente os contatos com Foto.

Exemplo

 

$sql = "SELECT * FROM agenda WHERE id_local='124' AND foto IS NULL order by id desc";

 

 

testei com foto IS NULL mais não exibiu nada.


Alguém pode da uma ajuda?


Muito Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

AND foto IS NOT NULL.

 

Fiz o teste deu certo.

 

nesse caso pegou as que tem foto. como faço para pegar as que não tem foto ?

 

AND foto IS NOT NULL. ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparentemente pensei que tivesse resolvido mais..

 

Observei que meu cadastro tenta inserir a foto mesmo sem que eu coloque nada na input

dai a coluna foto na tabela perde a propriedade NULL

 

como posso resolver isso?

 

minha parte de cadastro:

 

 
if($acao== "insertbd"){                                                         // Essa aspa simples é o local da foto                                    
$sql = "INSERT INTO agenda VALUES ('', '$titulo', '$texto', '', '$categoria', '$agencia' )";
 
$sql2 = mysql_query($sql);
 
$id_recuperado = mysql_insert_id();
 
$dir = "statica/agenda/$id_recuperado";
 
$pasta = @mkdir("$dir", 0777);  @chmod("$dir", 0777);
 
$uploaddir = "$dir/";
 
if(is_dir("$dir")){
 
       if ($foto != "none") {
       if (@copy($_FILES['foto']['tmp_name'], $uploaddir . $_FILES['foto']['name'] )){
       $foto1 = $_FILES['foto']['name'];
 
        $var1 = mysql_query("update agenda set foto='$foto1' where id='$id_recuperado'");
 
        } else {
        echo " A foto não pode ser enviada, Mesmo assim cadastramos seu contato!</div> </div>";
        }
        }
        } else {
        echo "A pasta agenda/$id_recuperado não existe!";
        }
 
       $mgs = "Cadastrado com Sucesso! Aguarde nosso contato.";
       echo "$mgs";
       }
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

é porque quando você coloca aspas vazias o campo NULL perde sua propriedade.

 

tenta assim

 

$sql = "INSERT INTO agenda (coluna_título, coluna_texto, coluna_categoria, coluna_agencia)  VALUES ('$titulo', '$texto', '$categoria', '$agencia' )";

 

onde está coluna_texto e os demais você substitui pelo nome das suas colunas.

 

espero que funcione ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, eu fiz o teste, não deu erros mais tb não inseriu nada no banco.

 

eu não entendi essa parte

"onde está coluna_texto e os demais você substitui pelo nome das suas colunas."

 

no caso coluna_ eu coloco o que agenda? ou deixo assim mesmo, 'coluna'

 

 

 

$sql = "INSERT INTO agenda (coluna_título, coluna_texto, coluna_categoria, coluna_agencia) VALUES ('$titulo', '$texto', '$categoria', '$agencia' )";

?



no caso ficaria assim?

 

 

 

$sql = "INSERT INTO agenda (id, titulo, texto, foto, categoria, agencia) VALUES ('', '$titulo', '$texto', '', '$categoria', '$agencia' )";
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar tudo.

 

 

<?php
 
include("conect.php");
 
$variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST;
foreach ($variables as $k=> $v)
$$k=$v;
 
 
if($acao== "insertbd"){                                                         // Essa aspa simples é o local da foto                                    
$sql = "INSERT INTO agenda VALUES ('', '$titulo', '$texto', '', '$categoria', '$agencia' )";
 
$sql2 = mysql_query($sql);
 
$id_recuperado = mysql_insert_id();
 
$dir = "statica/agenda/$id_recuperado";
 
$pasta = @mkdir("$dir", 0777);  @chmod("$dir", 0777);
 
$uploaddir = "$dir/";
 
if(is_dir("$dir")){
 
       if ($foto != "none") {
       if (@copy($_FILES['foto']['tmp_name'], $uploaddir . $_FILES['foto']['name'] )){
       $foto1 = $_FILES['foto']['name'];
 
        $var1 = mysql_query("update agenda set foto='$foto1' where id='$id_recuperado'");
 
        } else {
        echo " A foto não pode ser enviada, Mesmo assim cadastramos seu contato!</div> </div>";
        }
        }
        } else {
        echo "A pasta agenda/$id_recuperado não existe!";
        }
 
       $mgs = "Cadastrado com Sucesso! Aguarde nosso contato.";
       echo "$mgs";
       }
 
?>
 
<form action="cadastro_agenda.php" method="post" enctype="multipart/form-data" name="formulario">
<input name="acao" type="hidden" value="insertbd">
 
Titulo<p>
<input name="titulo" type="text"  class="campos" value="" size="55" />
 
Texto<p>
<textarea name="texto"  cols="55" rows="20"  class="tinymce" id="input" onblur="this.idName='input';" onfocus="this.idName='inputon';"></textarea>
 
Foto<p>
<input class="inputon" onchange="document.images.foto1.src=this.value" name='foto' type='file' size="16"  />
 
Categoria<p>
<input name="categoria" type="text"  class="campos" value="" size="55" />
 
 
Agencia<p>
<input name="agencia" type="text"  class="campos" value="" size="55" />
 
<p>
<input type="submit" id="input" name='btgravar' value="Cadastrar" />
 
</form>
 
<?
  // fim da acao FORM DE CADASTRO 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, tb costumo usar inserção no banco no mesmo esquema que vc, sem identificar coluna, já que a tabela é pequena.

 

tenta algo como: Select * from suatabela where (not(foto)='') //negado campo foto com valor vazio...

 

Caso não dê certo, eu atribuiria um valor zero ao campo foto, e depois negaria o zero, já que vc está tendo problema com valor 0.

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.