junaooaks 3 Denunciar post Postado Abril 25, 2008 galera to tendo uma redundancia no resultado de uma consulta lista de ip esta me gerando assim 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.2 192.168.0.2 192............ era pra gera assim: 192.168.0.1 192.168.0.2 192.168.0.3 192........... codigo: <?php //selecionar dados na tabela relacionamento $sql = "SELECT * FROM relacionamento, ip WHERE ip.ips != relacionamento.ip"; $sql = mysql_query($sql) or die (mysql_error()); //resultado na tela while ($row = mysql_fetch_array($sql)){ $ips= $row ['ip']; $macs = $row ['mac']; $ip= $row ['ips']; $mac = $row ['macs']; $status = $row ['statu']; echo " <tr> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$ip<font color='#FFFFFF'></font></font></div></td> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$mac<font color='#FFFFFF'></font></font></div></td> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$status<font color='#FFFFFF'></font></font></div></td> </tr>" ;} ?> Compartilhar este post Link para o post Compartilhar em outros sites
luciano antony 0 Denunciar post Postado Abril 25, 2008 O que você pediu ai no select vai mostrar só aonde for ip.ips ! seja igual a relacionamento.ip. Tente fazer o select usando between. Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 25, 2008 o BETWEEN serve para indicar um determinado intervalo de valores dentro de uma query nao e isto que estou querendo o que eu pedi foi pra que mostre os valores qua nao sao iquais, diferentes de relacionamento.ip os valores que eu tiver em na tabela ip.ips eu quero que mostre so mente os que nao tenha na tabela relacionamento.ip Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 26, 2008 editei o codigo agora esta me mostrando certo, mas os valores nao estao fazendo comparaçao com o IF <? //puxar a pagina de coneção para dentro deste script include "conexao_mysql.php"; //selecionar dados na tabela relacionamento $sql = "SELECT * FROM relacionamento"; $sql = mysql_query($sql) or die (mysql_error()); //selecionar dados na tabela ip $my = "SELECT * FROM ip "; $my = mysql_query($my) or die (mysql_error()); //resultado na tela while ($row = mysql_fetch_array($my)) { $ips= $row ['ips']; $mac = $row ['macs']; $status = $row ['statu']; $row = mysql_fetch_array($sql); $ip= $row ['ip']; $macs = $row ['mac']; //FAZER COMPARAÇAO DO IPS DISPONIVEL E USADOS if ($ips <> $ip){ echo " <tr> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$ips<font color='#FFFFFF'></font></font></div></td> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$mac<font color='#FFFFFF'></font></font></div></td> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$status<font color='#FFFFFF'></font></font></div></td> </tr>" ;}} ?> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 26, 2008 nao sei o que você está fazendo. mas talvez o comando "distinct" ou "not in" sejam uteis Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 26, 2008 o que eu to precisando e nao to conseguindo fazer e o seguinte tenho duas tabelas uma chamada relacionamento e a outra ip todas duas tem um campo que quardas os ips eu preciso fazer uma consulta que me retorna todos os ips cadastrado na tabela de ip mas fazendo comparaçao com a tabela relacionamento se tiver o mesmo ip na tabela de relacionamento eu nao quero que ele aparece na tabela tipo assim if ($ip.ips != $relacionamento.ip){ echo "aparece todos os ips cadastrado na tabela ip"; } Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 26, 2008 mostre a estrutura e poste alguns inserts dummy Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 26, 2008 a estrutura do codigo esta assim <? //selecionar dados na tabela relacionamento $sql = "SELECT * FROM relacionamento"; $sql = mysql_query($sql) or die (mysql_error()); //selecionar dados na tabela ip $my = "SELECT * FROM ip "; $my = mysql_query($my) or die (mysql_error()); //resultado na tela //selecionar dados na tabela ip //$sql = "SELECT * FROM ip "; //$sql = mysql_query($sql) or die (mysql_error()); //resultado na tela while ($row = mysql_fetch_array($my)) { $ips= $row ['ips']; $mac = $row ['macs']; $status = $row ['statu']; $row = mysql_fetch_array($sql); $ip= $row ['ip']; $macs = $row ['mac']; //$statu = $row ['statu']; echo $ip; //FAZER COMPARAÇAO DO IPS DISPONIVEL E USADOS if ($ips <> $ip){ echo " <tr> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$ips<font color='#FFFFFF'></font></font></div></td> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$mac<font color='#FFFFFF'></font></font></div></td> <td bgcolor='#FFFFFF'> <div align='center'><font size='2' face='Verdana, Arial, Helvetica, sans-serif'>$status<font color='#FFFFFF'></font></font></div></td> </tr>" ;} ?> estrutura da tabela ip id_ip ip mac status estrutura da tabela relacionamento id_relacionamento id_cliente ip status mac kb obs Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 26, 2008 somente das tabelas SQL e alguns dados "dummy" dummy são dados de 'exemplo', 'teste' .. Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 26, 2008 CREATE TABLE `relacionamento` ( `id` int(20) NOT NULL auto_increment, `id_cliente` varchar(100) NOT NULL default '', `ip` varchar(20) NOT NULL default '', `status` varchar(30) NOT NULL default '', `kb` int(10) NOT NULL default '0', `mac` varchar(20) NOT NULL default '', `mac2` varchar(20) NOT NULL default '', `plano` varchar(30) NOT NULL default '', `obs` text NOT NULL, PRIMARY KEY (`id`,`id_cliente`) ) TYPE=MyISAM AUTO_INCREMENT=110 ; INSERT INTO `relacionamento` VALUES (108, '1043', '10.0.0.34', '1', 1, '00:11:22:33:44:55', '', 'RESIDENCIAL_ME', 'TESTE'); INSERT INTO `relacionamento` VALUES (109, '15', '10.0.0.25', '1', 1, '00:00:00:33:22:11', '', 'RESIDENCIAL_ME', ''); INSERT INTO `relacionamento` VALUES (107, '1045', '10.0.0.30', '1', 3, 'CC:CC:CC:CC:CC:CC', 'AA:AA:AA:AA:AA:A1', 'RESIDENCIAL_ME', 'REALIZAR'); CREATE TABLE `ip` ( `id` int(17) NOT NULL auto_increment, `ips` varchar(20) NOT NULL default '', `macs` varchar(20) NOT NULL default '', `statu` int(3) NOT NULL default '0', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1022 ; INSERT INTO `ip` VALUES (767, '10.0.0.1', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (768, '10.0.0.2', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (769, '10.0.0.3', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (770, '10.0.0.4', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (771, '10.0.0.5', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (772, '10.0.0.6', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (773, '10.0.0.7', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (774, '10.0.0.8', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (775, '10.0.0.9', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (776, '10.0.0.10', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (777, '10.0.0.11', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (778, '10.0.0.12', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (779, '10.0.0.13', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (780, '10.0.0.14', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (781, '10.0.0.15', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (782, '10.0.0.16', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (783, '10.0.0.17', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (784, '10.0.0.18', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (785, '10.0.0.19', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (786, '10.0.0.20', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (787, '10.0.0.21', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (788, '10.0.0.22', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (789, '10.0.0.23', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (790, '10.0.0.24', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (791, '10.0.0.25', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (792, '10.0.0.26', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (793, '10.0.0.27', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (794, '10.0.0.28', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (795, '10.0.0.29', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (796, '10.0.0.30', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (797, '10.0.0.31', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (798, '10.0.0.32', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (799, '10.0.0.33', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (800, '10.0.0.34', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (801, '10.0.0.35', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (802, '10.0.0.36', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (803, '10.0.0.37', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (804, '10.0.0.38', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (805, '10.0.0.39', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (806, '10.0.0.40', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (807, '10.0.0.41', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (808, '10.0.0.42', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (809, '10.0.0.43', '00:00:00:00:00:00', 0); INSERT INTO `ip` VALUES (810, '10.0.0.44', '00:00:00:00:00:00', 0); Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 28, 2008 execute isso e veja como funciona SELECT ip.ips as ip FROM relacionamento, ip WHERE ip.ips not in(select relacionamento.ip from relacionamento) exibirá todos os ips da tabela ip exceto os ips que estao na tabela relacionamento. nesse caso, .25 .30 .34 Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 28, 2008 esta dando este erro: Você tem um erro de sintaxe no seu SQL próximo a 'SELECT relacionamento.ip FROM relacionamento )' na linha 2 $sql = "SELECT * FROM relacionamento, ip WHERE ip.ips NOT IN(SELECT relacionamento.ip FROM relacionamento )"; $sql = mysql_query($sql) or die (mysql_error()); //resultado na tela while ($row = mysql_fetch_array($sql)) { $ips = $row ['ips']; $mac = $row ['macs']; $status = $row ['statu']; Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Abril 28, 2008 Junaooaks, tenta assim no SQL SELECT * FROM IP WHERE IPS NOT IN (SELECT IP FROM nomedobanco.relacionamento) Compartilhar este post Link para o post Compartilhar em outros sites
tupinikin 1 Denunciar post Postado Abril 29, 2008 tive um problema parecido como o seu e resolvi com "distinct" http://dev.mysql.com/doc/refman/5.0/en/dis...timization.html abraço Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 29, 2008 o distinct "SELECT DISTINCT ip.ips , ip.macs, ip.statu, relacionamento.ip FROM ip,relacionamento)";nao resolveu SELECT * FROM IP WHERE IPS NOT IN (SELECT IP FROM relacionamento)tambem nao resolveuerro:Você tem um erro de sintaxe no seu SQL próximo a 'SELECT IP FROM relacionamento)' na linha 1 ja tentei assim tambem SELECT * FROM ip, relacionamento WHERE ip.ips <> relacionamento.ip fica reduntante tipo assim: 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.2 192.168.0.2 192.168.0.2 192.168.0.3 192.168.0.3 192.168.0.3 ................ //quando chega ao ip que esta cadastrado nos dois que e o caso do 192.168.0.34 / 192.168.0.30 / 192.168.0.25 os ips so repete duas vezes 192.168.0.25 192.168.0.25 ................. 192.168.0.30 192.168.0.30 ............... 192.168.0.34 192.168.0.34 eu to muito perdido http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 29, 2008 você não fez como mostrei acima.. quando faz relacionamente co duas tabelas, sempre que se refererir a um campo em específico deve especificar a tabela a qual pertence. no seu caso: SELECT ip.* FROM relacionamento, ip WHERE ip.ips NOT IN(SELECT relacionamento.ip FROM relacionamento) Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 30, 2008 $sql = "SELECT ip.* FROM relacionamento, ip WHERE ip.ips NOT IN(SELECT relacionamento.ip FROM relacionamento)"; $sql = mysql_query($sql) or die (mysql_error()); ao executar aparece a frase: Você tem um erro de sintaxe no seu SQL próximo a 'SELECT relacionamento.ip FROM relacionamento)' na linha 1 :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
junaooaks 3 Denunciar post Postado Abril 30, 2008 me falaram um EXCEPT no mysql como usa procurei no google e nao encontrei Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 1, 2008 qual a versão do mysql que você está usando ? Compartilhar este post Link para o post Compartilhar em outros sites