Ir para o conteúdo
JoaoNascimento

Grid+Dojo toolkit+php+mysql

Mensagens Recomendadas

JoaoNascimento

Não sei se estou a colocar no local exacto. O meu problema é muito estranho, passo a explicar: Estou a criar um sistema de gestão de utilizadores, onde vou buscar os dados a uma base de dados mysql.

Utilizo sempre uma página de testes chamada teste.php onde normalmente testo o código de alteração da bd e de consulta depois é só passar para a página relativa. O problema é que ao listar os dados numa grid utilizando o Dojo toolkit a página de testes funciona direitinho e lista os dados, mas quando passo o código para a página onde pretendo usar não lista nenhuns dados.

teste.php

<!DOCTYPE html>
<!--http://www.enterprisedojo.com/2011/01/31/a-simple-dojo-datagrid-example-or-so-close-yet-wide-right/-->
<html>
<head>
<title>The Simplest Dojo DataGrid Example of All Time</title>
<link rel="stylesheet" type="text/css"
href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dijit/themes/claro/claro.css" />

<link rel="stylesheet" type="text/css"
href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojox/grid/resources/Grid.css" />

<link rel="stylesheet" type="text/css"
href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojox/grid/resources/claroGrid.css" />
</head>

<body class="claro">
    <div style="width: 600px; height: 200px">
        <table id="userGrid" dojoType="dojox.grid.DataGrid">
            <thead>
                <tr>
                    <th field="idUtilizador">ID</th>
                    <th field="nome">Nome</th>
                    <th field="password">Password</th>
                    <th field="idTipoUtilizador" width="180px">Tipo Utilizador</th>
                </tr>
            </thead>
        </table>
    </div>

<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js"
    djConfig="parseOnLoad:true"></script>

<script type="text/javascript">
    dojo.require("dojox.grid.DataGrid");
    dojo.require("dojo.data.ItemFileReadStore");
</script>

<script type="text/javascript">
dojo.ready(function() {
<?php

$servidor = "localhost";
$utilizador = "root";
$senha = "";
$bd = "login";

$conexao = mysql_connect($servidor, $utilizador, $senha); //liga a base de dados mysql

mysql_select_db($bd); //seleciona a base de dados

$resultado = mysql_query("select * from utilizador"); //comando sql para ir buscar todos os utilizadores

    echo"var theGreatestTeamOfAllTime = {";
        echo "items: [ "; 
	while($escrever=mysql_fetch_array($resultado)){
			  echo '{
                  "idUtilizador":"'.$escrever["idUtilizador"].'",
                  "nome":"'.$escrever["nome"].'",
                  "password":"'.$escrever["password"].'",
                  "idTipoUtilizador":"'.$escrever["TipoUtilizador_idTipoUtilizador"].'"
                  },';
			  }
               echo '],';
        echo "identifier: 'idUtilizador'";
    echo "};";
mysql_close($conexao);
?>

    var dataStore =
    new dojo.data.ItemFileReadStore(
        { data:theGreatestTeamOfAllTime }
    );
    var grid = dijit.byId("userGrid");
    grid.setStore(dataStore);
});
</script>

</body>
</html>

<html>
<head>
<title>Gerir Utilizadores</title>
<link rel="stylesheet" href="../../../resources/style/demo.css" media="screen">
<!-- load dojo and theme; provide config via data attribute -->
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dijit/themes/claro/claro.css">
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"
	data-dojo-config="isDebug: true, async: true, parseOnLoad: true">
</script>

<link rel="stylesheet" type="text/css"
 href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojox/grid/resources/Grid.css" />

 <link rel="stylesheet" type="text/css"
 href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojox/grid/resources/claroGrid.css" />

</head>
<body class="claro">
<h1>Gerir Utilizadores</h1>
<?php include("seguranca.php"); 
?>
<p align="right"><?php echo "Olá, " . $_SESSION['utilizadorNome']." "?><a href="index.php" onclick="<?php unset($_SESSION['usuarioID'], $_SESSION['usuarioNome'], $_SESSION['usuarioLogin'], $_SESSION['usuarioSenha']);?>);">Logout</a></p>
<p>
	<input type="submit" value="Novo" onClick="parent.location='dadosUtilizador.php'" id="enviarForm" label="Novo" dojoType="dijit.form.Button">
</p>
<p>
	<!--Area onde são apresentados os utilizadores registados-->
	<b>Tabela dos utilizadores registados</b>

	<div style="width: 600px; height: 200px">
		<table id="userGrid" dojoType="dojox.grid.DataGrid">
			<thead>
				<tr>
					<th field="idUtilizador">ID</th>
					<th field="nome">Nome</th>
					<th field="password">Password</th>
					<th field="idTipoUtilizador" width="180px">Tipo Utilizador</th>
				</tr>
			</thead>
		</table>
	</div>

<script type="text/javascript"
 src="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js"
	djConfig="parseOnLoad:true"></script>

<script type="text/javascript">
dojo.ready(function() {
<?php

$servidor = "localhost";
$utilizador = "root";
$senha = "";
$bd = "login";

$conexao = mysql_connect($servidor, $utilizador, $senha); //liga a base de dados mysql

mysql_select_db($bd); //seleciona a base de dados

$resultado = mysql_query("select * from utilizador"); //comando sql para ir buscar todos os utilizadores

	echo"var theGreatestTeamOfAllTime = {";
		echo "items: [ "; 
		while($escrever=mysql_fetch_array($resultado)){
				  echo '{
				  "idUtilizador":"'.$escrever["idUtilizador"].'",
				  "nome":"'.$escrever["nome"].'",
				  "password":"'.$escrever["password"].'",
				  "idTipoUtilizador":"'.$escrever["TipoUtilizador_idTipoUtilizador"].'"
				  },';
				  }
			   echo '],';
		echo "identifier: 'idUtilizador'";
	echo "};";
	mysql_close($conexao);
	?>

	var dataStore = new dojo.data.ItemFileReadStore(
		{ data:theGreatestTeamOfAllTime }
	);
	var grid = dijit.byId("userGrid");
	grid.setStore(dataStore);
});
</script>
</p>
<p>
	<form method="post" action="modificarUtilizador.php" dojoType="dijit.form.Form">
		<select size="1" name="ModificarUtilizador" data-dojo-type="dijit.form.FilteringSelect" id="ModificarUtilizador">
		<option selected value="Selecione">Selecione</option>
		<?php
		$servidor = "localhost";
		$utilizador = "root";
		$senha = "";
		$bd = "login";

		$conexao = mysql_connect($servidor, $utilizador, $senha); //liga a base de dados mysql

		mysql_select_db($bd); //seleciona a base de dados

		$resultado = mysql_query("select * from utilizador"); //comando sql para ir buscar todos os utilizadores
		while($escrever=mysql_fetch_array($resultado)){
		//escreve cada linha da tabela
		echo "<option value=".$escrever["idUtilizador"].">".$escrever["nome"]."</option>";
		}

		?>

		</select>
		<input type="submit" value="Modificar" id="modificarForm" label="Modificar" dojoType="dijit.form.Button">
	</form>
</p>
<p>
	<form method="post" action="eliminarUtilizador.php" dojoType="dijit.form.Form">
		<select size="1" name="ApagarUtilizador" data-dojo-type="dijit.form.FilteringSelect" id="ApagarUtilizador">
		<option selected value="Selecione">Selecione</option>
		<?php
		$resultado = mysql_query("select * from utilizador"); //comando sql para ir buscar todos os utilizadores
		while($escrever=mysql_fetch_array($resultado)){
		//escreve cada linha da tabela
		echo "<option value=".$escrever["idUtilizador"].">".$escrever["nome"]."</option>";
		}
		mysql_close($conexao);
		?>
		</select>
		<input type="submit" value="Apagar" id="apagaForm" label="Apagar" dojoType="dijit.form.Button">
	</form>
</p>
<script>
	// load requirements for declarative widgets in page content
	require(["dojo/parser", 
	/* dojox/ validate resources */
	"dojox/validate/us", "dojox/validate/web",
	/* basic dijit classes */
	"dijit/form/CheckBox", "dijit/form/Textarea", "dijit/form/FilteringSelect", "dijit/form/TextBox", "dijit/form/ValidationTextBox", "dijit/form/DateTextBox", "dijit/form/TimeTextBox", "dijit/form/Button", "dijit/form/RadioButton", "dijit/form/Form", "dijit/form/DateTextBox",
	/* basic dojox classes */
	"dojox/form/BusyButton", "dojox/form/CheckedMultiSelect", "dojo/domReady!", "dojox/form/PasswordValidator", "dojo/data/ItemFileReadStore", "dijit/form/ComboBox", "dijit/form/FilteringSelect", "dojox/grid/DataGrid"]);
</script>
</body>
</html>

Que poderei eu estar a fazer de errado? Desculpem colocar todo o código...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
JoaoNascimento

Acho que descobri o problema, o problema prende-se na inclusão deste link:

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"
	data-dojo-config="isDebug: true, async: true, parseOnLoad: true">
</script>

Mas pelo que estive a ver este é o ficheiro que coloca os botões e outros componentes, se não o colocar esses componentes não funcionam.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.