Celty 0 Denunciar post Postado Outubro 8, 2013 Olá, Gente é o seguinte, estou fazendo um form "UPDATE" em php/xml/mysql, para validar qual módulo o cliente tem direito de baixar. Por exemplo: O cliente x pode baixar todos os módulos, então o programa enviará pra ele todos os módulos. Mas o cliente Y tá bloqueado pro módulo x, então ele não poderá ter esse módulo. Já pensei, tentei e só conseguir chegar até essa parte que vou postar a seguir... Por favor, me ajudem :/ Aqui estão as tables utilizadas: CREATE TABLE ab_CLIENTES ( ID_CLIENTE INTEGER NOT NULL, NOME VARCHAR(50) NOT NULL, CONTATO VARCHAR(50), CNPJ VARCHAR(20), TELEFONE VARCHAR(24), EMAIL VARCHAR(40), CHAVE_AUTORIZACAO CHAR(32), CONSTRAINT PK_CLIENTES PRIMARY KEY (ID_CLIENTE)) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE ab_MODULOS ( ID_MODULO INTEGER, NOME VARCHAR(50) NOT NULL, DESCRICAO LONGTEXT, EXECUTAVEL VARCHAR(40), VERSAO_ATUAL VARCHAR(20), CONSTRAINT PK_MODULOS PRIMARY KEY (ID_MODULO)) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE ab_ATUALIZACOES ( ID_ATUALIZACAO INTEGER NOT NULL, ID_MODULO INTEGER, VERSAO_ATUAL VARCHAR(20), NOVIDADES LONGTEXT, ID_USUARIO INTEGER NOT NULL, ARQUIVO VARCHAR(40), DATA_ATUALIZACAO DATETIME, CONSTRAINT PK_ATUALIZACOES PRIMARY KEY (ID_ATUALIZACAO), CONSTRAINT FK_ATUALIZACOES_MODULO FOREIGN KEY (ID_MODULO) REFERENCES ab_MODULOS(ID_MODULO), CONSTRAINT FK_ATUALIZACOES_USUARIO FOREIGN KEY (ID_USUARIO) REFERENCES ab_USUARIOS(ID_USUARIO) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE ab_BLOQUEIOS ( ID_BLOQUEIO INTEGER, ID_CLIENTE INTEGER, ID_MODULO INTEGER, DATA_BLOQUEIO DATETIME, CONSTRAINT PK_BLOQUEIOS PRIMARY KEY (ID_BLOQUEIO), CONSTRAINT FK_BLOQUEIOS_CLIENTE FOREIGN KEY (ID_CLIENTE) REFERENCES ab_CLIENTES(ID_CLIENTE), CONSTRAINT FK_BLOQUEIOS_MODULO FOREIGN KEY (ID_MODULO) REFERENCES ab_MODULOS(ID_MODULO))NGINE=InnoDB DEFAULT CHARSET=latin1; e aqui o formulário php/xml: <?php date_default_timezone_set('America/Sao_Paulo'); echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; require 'doConectar.php'; echo "<atualizacoes>"; if (isset($_GET['ID_CLIENTE'])) { $id = $_GET['ID_CLIENTE']; } else { $id = 0; } $selecaoModulo = "SELECT ID_MODULO, NOME FROM ab_MODULOS" or die(mysql_error()); $queryModulo = mysql_query($selecaoModulo) or die(mysql_error()); while ($rowModulo = mysql_fetch_object($queryModulo)) { $bloqueio = false; if (($bloqueio) && ($id > 0)) { continue; } $idmodulo = $rowModulo->ID_MODULO; $nomemodulo = $rowModulo->NOME; echo "\n <modulo id=$idmodulo> $nomemodulo </modulo>"; $selecaoAtual = "SELECT ID_ATUALIZACAO, DATE(DATA_ATUALIZACAO) AS DATA, VERSAO_ATUAL, NOVIDADES FROM ab_ATUALIZACOES WHERE ID_MODULO = $idmodulo" or die(mysql_error()); $queryAtual = mysql_query($selecaoAtual) or die(mysql_error()); while ($rowAtual = mysql_fetch_object($queryAtual)) { $idatualizacao = $rowAtual->ID_ATUALIZACAO; $dataatualizacao = $rowAtual->DATA; $versaoatual = $rowAtual->VERSAO_ATUAL; $novidades = $rowAtual->NOVIDADES; echo "\n <atualizacao id=$idatualizacao> $idatualizacao </atualizacao>"; echo "\n <versaoatual> $versaoatual </versaoatual>"; echo "\n <data> $dataatualizacao </data>"; echo "\n <novidades> $novidades </novidades>"; echo "\n"; } } mysql_close(); echo "</atualizacoes>" ?> Se alguém puder me ajudar, agradeço! []'s Compartilhar este post Link para o post Compartilhar em outros sites
Welisson C. Dias 1 Denunciar post Postado Outubro 9, 2013 Você pode criar uma tabela ex . ClienteXmodulo ,com id_cliente, id_modulo e lá colocar todos os módulos que ele pode baixar . Sendo assim ele só vai baixar os módulos que estiverem nessa tabela . Compartilhar este post Link para o post Compartilhar em outros sites