Ir para conteúdo

POWERED BY:

Arquivado

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

biza

verificar existencia de valores entre um array e $_POST

Recommended Posts

viva malta,

estou aqui com uma dificuldade de fazer o seguinte, tenho um array de valores provenientes da base de dados, o que pretendo fazer é verificar que se cada campo de input que estou tentando submeter tem ID idêntico ao existente no array. Caso exista ele devera fazer um UPDATE (isso ele esta fazendo). O maior problema esta quando os valores postados são distintos dos existentes do array, da forma que fiz ele esta verificando valor a valor, eu so queria mostrar os distintos alguém me pode ajudar aqui nisso segue o meu code:

$itemInstalacoes = array();
$resultInstalacoes = mysql_query("SELECT comodidade_id, produto_id FROM tbl_deta_pro_como WHERE produto_id=".$_GET['id']);
while( $rowInstalacoes = mysql_fetch_array($resultInstalacoes)){
	
	$itemInstalacoes[]=$rowInstalacoes['comodidade_id'];
}
print_r($itemInstalacoes);
foreach ($_POST['comodidade'] as $key=> $comodidadeID){
$comodidadeID = mysql_real_escape_string($comodidadeID);
	
		if($comodidadeID==$itemInstalacoes[$key]){
	
	echo '<pre>'.$comodidadeID.'-'.$itemInstalacoes[$key].'</pre>';
	
//aqui faz UPDATE
		}elseif($comodidadeID!=$itemInstalacoes[$key]){
 echo '<pre>'.$comodidadeID.'</pre>'
//devia apresentar valores distintos dos provenientes não o faz
}
		}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, você quer a intersecção dos dois arrays, certo?

 

Veja

http://php.net/manual/pt_BR/function.array-intersect.php

 

 

Duas sugestões:

 

1. Seu sistema está vulnerável a SQL Injection com esse $_GET na query. Fazer um casting para int resolve nesse caso. Mas considere usar Prepared Statements

 

2. funções mysql_* estão obsoletas desde o PHP 5.5. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql

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.