Ir para conteúdo

POWERED BY:

Arquivado

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

Juninho De Luca_54619

[Resolvido] If / Else

Recommended Posts

Galera...

o pessoal me ajudou a resolver um problema the $_GET ontem.

Mas agora tenho outra dúvida.

 

Criei um IF/ELSE com a lógica: "se existe o registro, atualiza o banco. Senão, insere o registro no banco".

 

ok... então eu tenho o seguinte IF/ELSE

 

$select = "SELECT * FROM cod_filho WHERE cod_filho.ID='1' AND cod_filho.COMPRADOR='$comprador' AND cod_filho.COD_PAI='$cod_pai'";
$count = mysql_num_rows($select) or die (mysql_error());
if($count > 0) {
$qry = "UPDATE cod_filho SET cod_filho.COD_FILHO='$COD_FILHO_1', cod_filho.VALOR_DIFERENCIADO='$VALOR_DIFERENCIADO_1' WHERE cod_filho.COMPRADOR='$comprador' AND cod_filho.COD_PAI='$cod_pai' AND cod_filho.ID='1'";
mysql_query($qry) or die (mysql_error());
} else {
$qry = "INSERT INTO cod_filho VALUES ('1','$comprador','$cod_pai','$COD_FILHO_1','$VALOR_DIFERENCIADO_1')";
mysql_query($qry) or die (mysql_error()); }

 

 

Mas não funfa =(

Alguma sugestão?

Desde já, obrigadão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

$select = mysql_query("SELECT * FROM cod_filho WHERE ID='1' AND COMPRADOR='$comprador' AND COD_PAI='$cod_pai'");

$count = @mysql_num_rows($select);

if($count > 0) {

$qry = mysql_query("UPDATE cod_filho SET COD_FILHO='$COD_FILHO_1', VALOR_DIFERENCIADO='$VALOR_DIFERENCIADO_1' WHERE COMPRADOR='$comprador' AND COD_PAI='$cod_pai' AND ID='1'");

} else {

$qry = mysql_query("INSERT INTO cod_filho VALUES(NULL,'$comprador','$cod_pai','$COD_FILHO_1','$VALOR_DIFERENCIADO_1')");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele cai no if ou cai direto no else?

Da um echo no seu sql pra ver se ele está recuperando os valores corretos aí então executa esse comando diretamente no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou verificar... estou numa correria aqui hoje =P

Valeu galera!

Só explicando... não tenho um ID int único, como normalmente ocorreria

eu preciso que o resultado ocorra pela coincidência dos campos

COMPRADOR, COD_PAI e ID. Tipo... se todos eles concorrem, então ele existe.

 

Por exemplo...

Estou no form do comprador ADILSON... no seu primeiro produto (COD_PAI_1)

esse produto tem 3 cod_filhos (ID_1, ID_2, ID_3) (então eu teria q adicionar 3 códigos nessa

(@!*#(@* que to tentando fazer).

 

Se o if resultar em " ", quando salvar, ele fará un INSERT.

Senão, fará um UPDATE...

 

Pq eu posso ter um comprador EVERALDO, que cadastrará seu produto 1 (COD_PAI_1) com 3 filhos (ID_1, ID_2, ID_3), etc

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas para registrar, consegui resolver da seguinte forma:

$q = "SELECT * FROM $tbl WHERE $tbl.COD='$COD_[$i]'";
$r = mysql_query($q, $con) or die(mysql_error());

// Se houver correspondencia, ele atualiza a descricao
// ou nao faz nada, se a descricao continuar igual
if (mysql_num_rows($r) == 1) {

// Query
$q_up = "UPDATE $tbl SET
	$tbl.COD='$COD_[$i]',
	$tbl.NAME='$NAME_[$i]'
WHERE $tbl.COD='$COD_[$i]'";

// Executa a query
$update = mysql_query($q_up, $con) or die (mysql_error());

}

// Se nao houver correspondecia, insere na tabela
if (mysql_num_rows($r) == 0) {

// Query
$q_ins = "INSERT INTO $tbl VALUES ('', '$COD_[$i]', '$NAME_[$i]')";

// Excuta a query
$insert = mysql_query($q_ins, $con) or die (mysql_error());
}

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.