Ir para conteúdo
Fórum Script Brasil
  • 0

Valor do $_GET fica vazio


RodrigoPJ

Pergunta

Estou testando um sisteminha utilizando o EyeDataGrid.

Porém, não estou conseguindo fazer com que a variável "tabela", recebida pelo método $_GET, seja reconhecida.

Atribuindo o valor de "tabela" à $var_tabela, dá certo e ela aparece devidamente com o comando echo.

Porém, na hora da função SetQuery utilizá-la, dá erro.

Fazendo vários testes, descobri que a SetQuery considera que a variável está vazia.

Segue o código completo:

<?php

require 'eyedatagrid_class.eyemysqladap.inc.php';

require 'eyedatagrid_class.eyedatagrid.inc.php';

require "funcoes.php";

$db = new EyeMySQLAdap('localhost', 'root', '', 'projetando'); // Carregar adaptador da base de dados

// Load the datagrid class

$x = new EyeDataGrid($db);

$var_tabela = $_GET['tabela'];

echo $var_tabela;

$x->setQuery("*", $var_tabela, "Id");

// Mudar o texto dos cabeçalhos

$x->setColumnHeader('nome_atividade', 'Nome da atividade');

$x->setColumnHeader('datainicio', 'Data de início');

// Mudar tipo de coluna

$x->setColumnType('nome_atividade', EyeDataGrid::TYPE_HREF, 'inserir_tarefas.php?projeto=projetos_2_1_%id%'); // Atribuir os links

$x->setColumnType('projeto', EyeDataGrid::TYPE_HREF, ''); // Atribuir os links

$x->setColumnType('datainicio', EyeDataGrid::TYPE_DATE, 'd/m/y', true); // Change the date format

$x->setColumnType('Gender', EyeDataGrid::TYPE_ARRAY, array('m' => 'Male', 'f' => 'Female')); // Convert db values to something better

$x->setColumnType('Done', EyeDataGrid::TYPE_PERCENT, false, array('Back' => '#c3daf9', 'Fore' => 'black'));

// Configurar controles que vão aparecer

$x->hideColumn('id'); // Esconder coluna 'id'

$x->allowFilters(); // Permitir filtros

$x->showReset(); // Apresentar controle de resetar tabela

$x->addCustomControl(EyeDataGrid::CUSCTRL_TEXT, "alert('%FirstName%\'s been promoted!')", EyeDataGrid::TYPE_ONCLICK, 'Me promova'); // Add custom control, order does matter

$x->addStandardControl(EyeDataGrid::STDCTRL_EDIT, "alert('Editing %nome_atividade%, %FirstName% (ID: %_P%)')"); // Adicionar controle de edição

$x->addStandardControl(EyeDataGrid::STDCTRL_DELETE, "alert('Deleting %_P%')"); // Adicionar controle de exclusão

$x->showCreateButton("alert('Desenvolver código')", EyeDataGrid::TYPE_ONCLICK, 'Adicionar novo'); // Adicionar controle de adição de novo

$x->showCheckboxes(); // Mostrar checkboxes

$x->showRowNumber(); // Mostrar números de coluna

// Exemplo de aplicação de uma função a uma coluna

function returnSomething($lastname)

{

return strrev($lastname);

}

$x->setColumnType('LastName', EyeDataGrid::TYPE_FUNCTION, 'returnSomething', '%LastName%');

if (EyeDataGrid::isAjaxUsed())

{

$x->printTable();

exit;

}

?>

<html>

<head>

<title>EyeDataGrid Example 5</title>

<link href=eyedatagrid_table.css" rel="stylesheet" type="text/css">

</head>

<body>

<?php

// Imprimir a tabela

EyeDataGrid::useAjaxTable();

?>

</body>

</html>

Com esse código, se eu chamar o link http://localhost/projetando/ex5.php?tabela=projetos_1, aparece a seguinte tela:

projetos_1

Notice: Uncovered an error in your SQL query script: "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 'LIMIT 0, 10' at line 1" in C:\xampplite\htdocs\projetando\eyedatagrid_class.eyemysqladap.inc.php on line 122

Oops! We ran into a problem while trying to output the table. Click here to reset the table or here to review the error.

Se eu modificar o SetQuery colocando diretamente o valor "projetos_1", ao invés da variável, dá certo:

$x->setQuery("*", 'projetos_1', "Id");

Aí funciona...

Fuçando um pouco mais, procurei concatear outra string ("algoamais") à variável $var_tabela, e percebi que o setQuery não busca a tabela "projetos_1algoamais", somente a tabela "algoamais". Isto é, o que veio do GET é desconsiderado:

$var_tabela = $_GET['tabela]."algoamais";

echo $var_tabela;

$x->setQuery("*", $var_tabela, "Id");

Aparece:

projetos_1algoamais

algoamais

Notice: Uncovered an error in your SQL query script: "Table 'projetando.algoamais' doesn't exist" in C:\xampplite\htdocs\projetando\eyedatagrid_class.eyemysqladap.inc.php on line 122

Oops! We ran into a problem while trying to output the table. Click here to reset the table or here to review the error.

O que pode estar causando esses erros?

obrigado

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...