Ir para conteúdo

Arquivado

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

Danilo - Jesus voltará!

SELECT MYSQL dois campos NULL

Recommended Posts

Alguém sabe como eu faço para fazer uma busca em dois campos nulos... ex: tenho campo chamado: esquerda | direita

 

Quero inserir um novo registro na tabela e quando este novo registro for feito, quero que o ID vá para estas colunas esquerda ou direita do último registro buscado onde esquerda ou direita eram NULL, caso na busca a esquerda esteja NULL o ID do novo registro vai para a coluna esquerda, senão vai para a direita, e caso a esquerda esteja preenchida o ID vai para a coluna direita...

 

não sei se conseguiram entender mas é mais ou menos isso:

ID | E | D

1000 | 1005 | 1007

1005 | 1010 | 1018

1007 |

1010 |

1018 |

 

se alguém puder ajudar eu agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver de forma simples aparente... não sei se é a melhor... mas funcional pelo menos...

segue abaixo pra quem precisar ok:

 

mysql_query("SELECT ladoD, ladoE FROM tabela WHERE ladoD='' ORDER BY ordem LIMIT 1")

 

depois eu fiz uma condição para inserir novamente conforme abaixo:

 

if($query["ladoE"]==""){ // Se o ladoE estiver vazio a variavel $lado será ladoE
$lado = "ladoE";
} elseif($query["ladoD"]=="") { // caso o ladoD seja vazio a variavel $lado será ladoD
$lado = "ladoD";
valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Consegui resolver de forma simples aparente... não sei se é a melhor... mas funcional pelo menos...

segue abaixo pra quem precisar ok:

 

mysql_query("SELECT ladoD, ladoE FROM tabela WHERE ladoD='' ORDER BY ordem LIMIT 1")

 

depois eu fiz uma condição para inserir novamente conforme abaixo:

 

if($query["ladoE"]==""){ // Se o ladoE estiver vazio a variavel $lado será ladoE
$lado = "ladoE";
} elseif($query["ladoD"]=="") { // caso o ladoD seja vazio a variavel $lado será ladoD
$lado = "ladoD";
valeu galera

 

 

 

 

nem sempre no banco estar assim pode ter um espaço e não vai trazer, ou se tiver null tambem não vai.

 

coloque assim no seu select vai evitar erros

 

SELECT ladoD, ladoE FROM tabela WHERE (trim(ladoD) = '' or ladoD is null) ORDER BY ordem LIMIT 1

 

 

se ajudou clica rep_up.png e marca como resolvido o post que te ajudou :)

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.