Ir para conteúdo

POWERED BY:

Arquivado

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

Jackwalker

Sintaxe SQL

Recommended Posts

Olá pessoal do fórum IMasters,

Estou com uma dúvida em relação a minha sintaxe para selecionar registro no MySQL,que está dando esse tipo de erros:

Erro

consulta SQL: Documentação

SELECT matriz.descricao AS matriz,
FROM matriz, filial, situacao, usuario, usuario_gpacesso
WHERE 1 = usuario.id_usuario
AND matriz.id_matriz = filial.id_matriz
AND filial.id_filial = usuario_gpacesso.id_filial
AND matriz.id_situacao = situacao.id_situacao
AND usuario.id_usuario = usuario_gpacesso.id_usuario
LIMIT 0 , 30

Mensagens do MySQL : Documentação
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM  matriz ,  filial ,  situacao ,  usuario ,  usuario_gpacesso  WHERE  1 = us' at line 1

Pois eu quero que na minha tabela chamada Matriz,na parte de busca(filtro),informe só os registro referente ao acesso cadastrado para o Usuário.Ex:

Eu tenho um Usuário que é cadastrado na Filial Empresa 1.A que faz parte da Matriz Empresa 1,quero dizer que o Usuário só poderá visualizar no busca(filtro) a Matriz ou Filial que ele foi cadastrado.

Aí está o código da matriz.php

<?php
session_start();
require_once 'default.php';
require_once 'classes/acao.class.php';
//require_once 'classes/Greco.class.php';
//require_once 'classes/GrecoConecta.class.php';

function __autoload($classe){
//require_once("classes/{$classe}.class.php");
 require_once 'classes/Greco.class.php';
 require_once 'classes/GrecoConecta.class.php';
 require_once 'classes/Conecta.class.php';
 require_once 'classes/Conecta_funcao.class.php';
 require_once 'classes/GrecoAcesso.class.php';
}

//Verifica::logado();

//$conn = Conecta::open('mysql');

$dtg  = new Greco();

$dtg->setLocal("matriz.php");
//$dtg->setLocal("ok.php");
$ar = $dtg->getLocalID();
$am = $dtg->getPerfilAmbiente();
$sessaoLocal = $dtg->getSessaoLocal();


  
$acao = $dtg->setModos($_SESSION['acesso'][3]);

//$ar = implode($_SESSION['acesso'][1]);
//echo $ar[0]; exit;


/*Faz a seleção dos dados a serem apresentados obs: coloque a chave primaria no primeiro lugar*/
/*$sql="
	SELECT
		matriz.id_matriz,
 		matriz.descricao AS matriz,
 		situacao.descricao AS situacao 
	FROM
 		matriz,
 		situacao
	WHERE
		situacao.id_situacao = matriz.id_situacao
";*/

$sql="
	SELECT 
		matriz.id_matriz, 
		matriz.descricao AS matriz,
		situacao.descricao AS situacao
	FROM 
		matriz,
		filial,
		situacao, 
		usuario, 
		usuario_gpacesso
	WHERE 
		$_SESSION[id_usuario] = usuario.id_usuario
	AND matriz.id_matriz = filial.id_matriz
	AND filial.id_filial=usuario_gpacesso.id_filial
	AND matriz.id_situacao = situacao.id_situacao
	AND usuario.id_usuario = usuario_gpacesso.id_usuario
	";

$sql2="
	 SELECT 
		
		matriz.descricao AS matriz,
		
	FROM 
		matriz,
		filial,
		situacao, 
		usuario, 
		usuario_gpacesso
	WHERE 
		1 = usuario.id_usuario
	AND matriz.id_matriz = filial.id_matriz
	AND filial.id_filial=usuario_gpacesso.id_filial
	AND matriz.id_situacao = situacao.id_situacao
	AND usuario.id_usuario = usuario_gpacesso.id_usuario
	";
	
	//echo "$sql2";
	
// Opções por qual campo ordenar o select, tipo da organização(crescente/decrescente)*/

$default_order_field = "matriz.id_matriz";
$default_order_type  = "ASC";
$dgrid->dataSource($db_conn, $sql, $default_order_field, $default_order_type);

/*configura os modos incluir,alterar,deletar,cancelar,visualizar*/
$modes = array
	(
		"add"	  => array("view"=>$acao['incluir'],  "edit"=>false, "type"=>"button"),
		"edit"	  => array("view"=>$acao['alterar'], "edit"=>true, "type"=>"image", "byFildValue"=>	"FieldName"),
		"cancel"  => array("view"=>true, "edit"=>true,"type"=>"image"),
		"details" => array("view"=>$acao['executar'], "edit"=>false,"type"=>"image"),
		"delete"  => array("view"=>$acao['excluir'],  "edit"=>true, "type"=>"image")
	);
$dgrid->SetModes($modes);

/*texto que aparecerá acima da tabela*/
$dg_caption = 'Matriz';
$dgrid->SetCaption($dg_caption);

/*permite a exportação*/
$exporting_option = $acao['exportar'];
$exporting_directory = "/tmp/"; 
$dgrid->AllowExporting($exporting_option, $exporting_directory);
$exporting_types = array("excel"=>"true", "pdf"=>"true", "xml"=>"true");
$dgrid->AllowExportingTypes($exporting_types);

/*realiza operação como vários registros simultaneamente*/
$multirow_option = true;
$dgrid->allowMultirowOperations($multirow_option);

$multirow_operations = array
	(
		   "delete"  => array("view"=>$acao['excluir']),
		   "details" => array("view"=>$acao['executar']),
		   "edit"	=> array("view"=>$acao['alterar'])
	);
$dgrid->setMultirowOperations($multirow_operations);

/*configura os campos que serão utilizadas para pesquisa*/

$sqlView=mysql_query($sql);

$filtering_fields =
	array
		(
			"Matriz"=>array("table"=>"matriz", "field"=>"descricao", "source"=>"self", "type"=>"dropdownlist","condition"=>"matriz.descricao='$sql2' AND matriz.descricao<='i' ","show"=>"","default_operator"=>"=","comparison_type"=>"string","on_js_event"=>"",),
			"Situação"=>array("table"=>"situacao", "field"=>"descricao", "source"=>"self","type"=>"dropdownlist"),
		);
$dgrid->setFieldsFiltering($filtering_fields);


  
	

$vm_colimns = array
	(
		"id_matriz"=>array("header"=>"Código", "type"=>"label", "align"=>"center"),
		"matriz" =>array("header"=>"Descrição", "type"=>"label", "align"=>"center", "case"=>"upper"),
		"situacao" =>array("header"=>"Situação", "type"=>"label", "align"=>"center", "case"=>"upper"),
 	);
$dgrid->setColumnsInViewMode($vm_colimns);

//------------------------------------------------------------------------------------------------------->
//montar tabelas de edição,inclusão e detalhes
///
/*pega informações da para montar a tabela de edição,alteração e visualização*/
$table_name  = "matriz";
$primary_key = "id_matriz";
$condition = "";
$dgrid->setTableEdit($table_name, $primary_key, $condition);

$fill_from_array = array("A"=>"Ativo", "I"=>"Inativo");

/*configura quais e como os dados irão aparecer no modo de edição,alteração,visualização*/
$colunas = array
	(
		"id_matriz" => array("header"=>"Código", "type"=>"textbox", "req_type"=>"rn","visible"=>"true",
		"edit_type"=>"simple" ,"width"=>"100%",),

		"descricao" => array("header"=>"Descrição", "type"=>"textbox","req_type"=>"rt", "width"=>"100%", 
		"on_js_event"=>"onKeyUp='this.value = this.value.toUpperCase();'"),
		
		"id_situacao" =>array("header"=>"Situação", "type"=>"enum", "req_type"=>"st", "width"=>"210px",
		"readonly"=>"false", "maxlength"=>"-1", "visible"=>"true", "source"=>$fill_from_array, 
		"view_type"=>"dropdownlist", "multiple"=>"false", "multiple_size"=>"4")
	
	);
$dgrid->SetColumnsInEditMode($colunas);

$dgrid->bind();
ob_end_flush();

?>

 

Por favor me auxilem neste comando SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico Movido:

Javascript / DHTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT matriz.descricao AS matriz

FROM matriz, filial, situacao, usuario, usuario_gpacesso

WHERE 1 = usuario.id_usuario

AND matriz.id_matriz = filial.id_matriz

AND filial.id_filial = usuario_gpacesso.id_filial

AND matriz.id_situacao = situacao.id_situacao

AND usuario.id_usuario = usuario_gpacesso.id_usuario

LIMIT 0 , 30

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Giesta

O sintaxe SQL que você me passou deu certo,ficou desse jeito o código agora:

<?php
session_start();
require_once 'default.php';
require_once 'classes/acao.class.php';
//require_once 'classes/Greco.class.php';
//require_once 'classes/GrecoConecta.class.php';

function __autoload($classe){
//require_once("classes/{$classe}.class.php");
 require_once 'classes/Greco.class.php';
 require_once 'classes/GrecoConecta.class.php';
 require_once 'classes/Conecta.class.php';
 require_once 'classes/Conecta_funcao.class.php';
 require_once 'classes/GrecoAcesso.class.php';
}

//Verifica::logado();

//$conn = Conecta::open('mysql');

$dtg  = new Greco();

$dtg->setLocal("matriz.php");
//$dtg->setLocal("ok.php");
$ar = $dtg->getLocalID();
$am = $dtg->getPerfilAmbiente();
$sessaoLocal = $dtg->getSessaoLocal();


  
$acao = $dtg->setModos($_SESSION['acesso'][3]);

//$ar = implode($_SESSION['acesso'][1]);
//echo $ar[0]; exit;


/*Faz a seleção dos dados a serem apresentados obs: coloque a chave primaria no primeiro lugar*/
/*$sql="
	SELECT
		matriz.id_matriz,
 		matriz.descricao AS matriz,
 		situacao.descricao AS situacao 
	FROM
 		matriz,
 		situacao
	WHERE
		situacao.id_situacao = matriz.id_situacao
";*/

$sql="
	SELECT 
		matriz.id_matriz, 
		matriz.descricao AS matriz,
		situacao.descricao AS situacao
	FROM 
		matriz,
		filial,
		situacao, 
		usuario, 
		usuario_gpacesso
	WHERE 
		$_SESSION[id_usuario] = usuario.id_usuario
	AND matriz.id_matriz = filial.id_matriz
	AND filial.id_filial=usuario_gpacesso.id_filial
	AND matriz.id_situacao = situacao.id_situacao
	AND usuario.id_usuario = usuario_gpacesso.id_usuario
	";


	
	$sql2="
	SELECT 
		matriz.descricao AS matriz
	FROM 
		matriz,
		filial,
		situacao,
		usuario,
		usuario_gpacesso
	WHERE
		usuario.id_usuario = $_SESSION[id_usuario]
	AND matriz.id_matriz = filial.id_matriz
	AND filial.id_filial = usuario_gpacesso.id_filial
	AND matriz.id_situacao = situacao.id_situacao
	AND usuario.id_usuario = usuario_gpacesso.id_usuario
	";
	
	
// Opções por qual campo ordenar o select, tipo da organização(crescente/decrescente)*/

$default_order_field = "matriz.id_matriz";
$default_order_type  = "ASC";
$dgrid->dataSource($db_conn, $sql, $default_order_field, $default_order_type);

/*configura os modos incluir,alterar,deletar,cancelar,visualizar*/
$modes = array
	(
		"add"	  => array("view"=>$acao['incluir'],  "edit"=>false, "type"=>"button"),
		"edit"	  => array("view"=>$acao['alterar'], "edit"=>true, "type"=>"image", "byFildValue"=>	"FieldName"),
		"cancel"  => array("view"=>true, "edit"=>true,"type"=>"image"),
		"details" => array("view"=>$acao['executar'], "edit"=>false,"type"=>"image"),
		"delete"  => array("view"=>$acao['excluir'],  "edit"=>true, "type"=>"image")
	);
$dgrid->SetModes($modes);

/*texto que aparecerá acima da tabela*/
$dg_caption = 'Matriz';
$dgrid->SetCaption($dg_caption);

/*permite a exportação*/
$exporting_option = $acao['exportar'];
$exporting_directory = "/tmp/"; 
$dgrid->AllowExporting($exporting_option, $exporting_directory);
$exporting_types = array("excel"=>"true", "pdf"=>"true", "xml"=>"true");
$dgrid->AllowExportingTypes($exporting_types);

/*realiza operação como vários registros simultaneamente*/
$multirow_option = true;
$dgrid->allowMultirowOperations($multirow_option);

$multirow_operations = array
	(
		   "delete"  => array("view"=>$acao['excluir']),
		   "details" => array("view"=>$acao['executar']),
		   "edit"	=> array("view"=>$acao['alterar'])
	);
$dgrid->setMultirowOperations($multirow_operations);

/*configura os campos que serão utilizadas para pesquisa*/

$sqlView=mysql_query($sql);

$filtering_fields =
	array
		(
			"Matriz"=>array("table"=>"matriz", "field"=>"descricao", "source"=>"self", "type"=>"dropdownlist","condition"=>"matriz.descricao='($sql2)'","show"=>"","default_operator"=>"=","comparison_type"=>"string","on_js_event"=>"",),
			"Situação"=>array("table"=>"situacao", "field"=>"descricao", "source"=>"self","type"=>"dropdownlist"),
		);
		
		
		
$dgrid->setFieldsFiltering($filtering_fields);


  
	

$vm_colimns = array
	(
		"id_matriz"=>array("header"=>"Código", "type"=>"label", "align"=>"center"),
		"matriz" =>array("header"=>"Descrição", "type"=>"label", "align"=>"center", "case"=>"upper"),
		"situacao" =>array("header"=>"Situação", "type"=>"label", "align"=>"center", "case"=>"upper"),
 	);
$dgrid->setColumnsInViewMode($vm_colimns);

//------------------------------------------------------------------------------------------------------->
//montar tabelas de edição,inclusão e detalhes
///
/*pega informações da para montar a tabela de edição,alteração e visualização*/
$table_name  = "matriz";
$primary_key = "id_matriz";
$condition = "";
$dgrid->setTableEdit($table_name, $primary_key, $condition);

$fill_from_array = array("A"=>"Ativo", "I"=>"Inativo");

/*configura quais e como os dados irão aparecer no modo de edição,alteração,visualização*/
$colunas = array
	(
		"id_matriz" => array("header"=>"Código", "type"=>"textbox", "req_type"=>"rn","visible"=>"true",
		"edit_type"=>"simple" ,"width"=>"100%",),

		"descricao" => array("header"=>"Descrição", "type"=>"textbox","req_type"=>"rt", "width"=>"100%", 
		"on_js_event"=>"onKeyUp='this.value = this.value.toUpperCase();'"),
		
		"id_situacao" =>array("header"=>"Situação", "type"=>"enum", "req_type"=>"st", "width"=>"210px",
		"readonly"=>"false", "maxlength"=>"-1", "visible"=>"true", "source"=>$fill_from_array, 
		"view_type"=>"dropdownlist", "multiple"=>"false", "multiple_size"=>"4")
	
	);
$dgrid->SetColumnsInEditMode($colunas);

$dgrid->bind();
ob_end_flush();

?>

 

 

Só que não consigo visualizar os registros cadastrado para o Usuário devidamente,nesta parte da sintaxe da matriz.php que chama a condição do SQL:

$filtering_fields =

array

(

"Matriz"=>array("table"=>"matriz", "field"=>"descricao", "source"=>"self", "type"=>"dropdownlist","condition"=>"matriz.descricao='($sql2)'","show"=>"","default_operator"=>"=","comparison_type"=>"string","on_js_event"=>"",),

"Situação"=>array("table"=>"situacao", "field"=>"descricao", "source"=>"self","type"=>"dropdownlist"),

);

 

 

 

$dgrid->setFieldsFiltering($filtering_fields);

 

 

Você ou alguém que esteje lendo esse tópico pode me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que aqui a dúvida voltar a ser de php.

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.