Boas,
Tendo em conta que sou novo no forum vou fazer uma breve apresentação. Sou programador freelancer e trabalho há alguns anos essencialmente com CSS, PHP e HTML.
E é por essa razão que estou com alguns problemas com o presente projecto. Neste trabalho tenho que seleccionar dados da bd para um ficheiro json e utiliza-los em funções presentes num ficheiro javascript. Devido aos meus limitados conhecimentos em javascript tenho andado à procura de soluções mas infelizmente está complicado. Vou colocar aqui a descrição do que preciso para o caso de alguem conseguir ajudar.
--
1 - Neste momento é chamado para uma função (iniciar_tons) que está no ficheiro personalizador.js os dados de um ficheiro já existente chamado dados.json
--------------
var cur_tons = dados['name'].tons;
alert (Tons= " + cur_tons);
--------------
Desta forma tudo corre bem, os dados aparecem na caixa de alerta e a função apresenta os dados que estão no dados.json. Mas este é um ficheiro que já está no servidor e é editado à mão.
2 - O objectivo é que os dados a entrar na função (iniciar_tons) que está no ficheiro personalizador.js venham da base de dados
Após alguma pesquisa fiz o seguinte código dentro de um php chamado "selecciona_bd" que está na mesma pasta que o dados.json. O que este código faz é criar uma saida json, que terá o mesmo efeito que um ficheiro json (pelo menos é o que eu acho).
------------
include"config.php";
$var = array();
$sql = "SELECT * FROM tabela_tons";
$result = mysqli_query($con, $sql);
while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
$json_result = json_encode($var);
-----------
A rotina vai buscar todos os dados da tabela. Fazendo um echo são todos apresentados na tela. O que me leva a pensar que até aqui está tudo ok.
3 - Agora onde encalhei e não consigo resolver:
Como é que eu passo os dados que recolhi da base de dados para a variavel json "cur_tons" que será utilizada na função iniciar_tons do ficheiro personalizador.js. Ou seja, como é que eu faço a substituição desta linha no ficheiro js ( var cur_tons = dados['name'].tons; )?
------------
Penso que seja algo deste tipo:
var cur_colors = JSON.parse(json_result);
No entanto não consigo que nada seja apresentado, nem no alert, nem na função.
Se alguém puder ajudar agradeço.
Cumps
Tendo em conta que sou novo no forum vou fazer uma breve apresentação. Sou programador freelancer e trabalho há alguns anos essencialmente com CSS, PHP e HTML.
E é por essa razão que estou com alguns problemas com o presente projecto. Neste trabalho tenho que seleccionar dados da bd para um ficheiro json e utiliza-los em funções presentes num ficheiro javascript. Devido aos meus limitados conhecimentos em javascript tenho andado à procura de soluções mas infelizmente está complicado. Vou colocar aqui a descrição do que preciso para o caso de alguem conseguir ajudar.
--
1 - Neste momento é chamado para uma função (iniciar_tons) que está no ficheiro personalizador.js os dados de um ficheiro já existente chamado dados.json
--------------
var cur_tons = dados['name'].tons;
alert (Tons= " + cur_tons);
--------------
Desta forma tudo corre bem, os dados aparecem na caixa de alerta e a função apresenta os dados que estão no dados.json. Mas este é um ficheiro que já está no servidor e é editado à mão.
2 - O objectivo é que os dados a entrar na função (iniciar_tons) que está no ficheiro personalizador.js venham da base de dados
Após alguma pesquisa fiz o seguinte código dentro de um php chamado "selecciona_bd" que está na mesma pasta que o dados.json. O que este código faz é criar uma saida json, que terá o mesmo efeito que um ficheiro json (pelo menos é o que eu acho).
------------
include"config.php";
$var = array();
$sql = "SELECT * FROM tabela_tons";
$result = mysqli_query($con, $sql);
while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
$json_result = json_encode($var);
-----------
A rotina vai buscar todos os dados da tabela. Fazendo um echo são todos apresentados na tela. O que me leva a pensar que até aqui está tudo ok.
3 - Agora onde encalhei e não consigo resolver:
Como é que eu passo os dados que recolhi da base de dados para a variavel json "cur_tons" que será utilizada na função iniciar_tons do ficheiro personalizador.js. Ou seja, como é que eu faço a substituição desta linha no ficheiro js ( var cur_tons = dados['name'].tons; )?
------------
Penso que seja algo deste tipo:
var cur_colors = JSON.parse(json_result);
No entanto não consigo que nada seja apresentado, nem no alert, nem na função.
Se alguém puder ajudar agradeço.
Cumps