Topic
  • No replies
Celty
Celty
1 Post

Pinned topic AJUDA!

‏2013-10-07T19:16:14Z |

Olá,

Gente é o seguinte, estou fazendo um form "UPDATE" em xml/php/mysql, para validar qual módulo o usuário tem direito de baixar, se ele estiver bloqueado para tal módulo, pula ou volta para o começo do laço...

Vou postar as tabelas:

 

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_MODULO'])) {
   $id = $_GET['ID_MODULO'];
} 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;
$selecaoBloqueio = "SELECT * FROM ab_BLOQUEIOS"; //EU NÃO SEI QUAL SERIA A MELHOR FORMA DE FAZER ESSE IF!!
$queryBloqueio = mysql_query($selecaoBloqueio);
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