biza 1 Denunciar post Postado Março 4, 2015 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
Beraldo 864 Denunciar post Postado Março 4, 2015 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