Acessando o MySQL com PHP-GTK
Abra seu editor favorito e vamos ao trabalho. O código da aplicação PHP-GTK está abaixo com os devidos comentários.
<?php // carrega a extenssão PHP-GTK, de acordo com sistema operacional utilizado if (strtoupper(substr(PHP_OS, 0, 3))=='WIN') { dl('php_gtk.dll'); } else { dl('php_gtk.so'); } // essa função é chamada quando o usuário clica // no botão fechar ( X ) da janela principal function destroy() { Gtk::main_quit(); //Fecha a aplicação } // essa função é chamada toda vez que é inserido // algo no banco de dados - serve como confirmação function nova_janela() { $janela = &new GtkWindow; //Instancia a classe GtkWindow e cria o objeto $janela $janela->set_title('Aviso'); //Seta um título para a janela secundária $janela->set_default_size(250,95); //Define o tamanho da janela $janela->set_position (GTK_WIN_POS_CENTER); //Define a posição da janela, quando criada $texto= &new GtkLabel('Sucesso no insert'); //Define um texto para a janela $janela->add($texto); //Adiciona o objeto texto ao objeto janela $janela->show_all(); //Mostra o objeto janela e seu conteúdo } // essa função é chamada para armazena // o registro no banco de dados function armazena () { global $entrada; // reaproveita o objeto $entrada do programa principal; global $entrada2; // reaproveita o objeto $entrada2 do programa principal; $v1 = $entrada->get_text(); // captura o valor do primeiro campo $v2 = $entrada2->get_text(); // captura o valor do segundo campo $sql = "INSERT INTO produtos (descricao, preco) values ('$v1', '$v2')"; //Cria a query sql $con = mysql_connect("localhost", "root", "123456") or print mysql_error(); // cria uma conexão com o banco de dados. Substitua localhost, root e 123456, pelas configurações de acesso do seu banco de dados. $db = mysql_select_db("apl1_gtk", $con); // seleciona o banco de dados $exec = mysql_query($sql, $con); // executa o query sql mysql_close($con); // fecha a conexão $entrada->set_text(''); // esvazia o campo $entrada2->set_text(''); // esvazia o campo nova_janela(); // chama a função de confirmação } $janela = &new GtkWindow; // instancia a classe GtkWindow e cria o objeto $janela $janela->set_title('Aplicação GTK acessando banco de dados'); // define o título da janela principal $janela->set_default_size(500,150); // define o tamanho da janela principal $janela->set_position (GTK_WIN_POS_CENTER); // define a posição da janela principal $janela->connect_object('destroy', 'destroy'); // chama a função destroy, quando o evento destroy é aberto. $tabela = &new GtkTable(6,4); // cria uma tabela com 6 linhas e 4 colunas $janela->add($tabela); // adiciona o objeto tabela ao objeto janela $botao = &new GtkButton('Armazenar'); // cria o objeto botão $botao->connect_object ("clicked", "armazena"); // chama a função armazena quando o evento clicked é aberto $entrada = &new GtkEntry (); // cria o objeto caixa de texto $entrada2 = &new GtkEntry (); // cria a segunda caixa de texto $texto1 = &new GtkLabel ('Descrição'); // cria um objeto label $texto2 = &new GtkLabel ('Preço'); // cria um segundo label // define a posição dos objeto (Labels, caixa de textos e botão) dentro da tabela $tabela->attach($texto1, 0, 1, 0, 1); $tabela->attach($texto2, 0, 1, 2, 3); $tabela->attach($entrada2, 2, 3, 2, 3); $tabela->attach($entrada, 2, 3, 0, 1); $tabela->attach($botao, 2, 3, 4, 5); $janela->show_all(); // mostra a janela e seu conteúdo Gtk::main(); // entra em loop para mostrar a aplicação ?>
Eu criei um compo preço no banco de dados (float (8,2)), a idéia seria Ex: R$ 12,23 só que os 2 últimos numreos são ignorados e no banco dados é gravado somente 12.00.
Alguem poderia me dar uma ajuda de como eu poderia configurar?
Eu estou usando dreamweaver.
Agradeço muito.
Alguem poderia me dar uma ajuda de como eu poderia configurar?
Eu estou usando dreamweaver.
Agradeço muito.
12/05/2010 10:49am
(~14 anos atrás)
Olha eu tou criando um programinha e para acessar à base de dados basei-me no código acima, mas tá dando erro
na função armazena
Erro: CALL TO A MEMBER FUNCTION ON A NON OBJECT ....ON LINE 275
gtk::solutions
http://onidesk.sytes.net
na função armazena
Erro: CALL TO A MEMBER FUNCTION ON A NON OBJECT ....ON LINE 275
gtk::solutions
http://onidesk.sytes.net
27/05/2005 12:53am
(~19 anos atrás)
Este erro me parece ser problema de instalação do PHP-GTK.
Reveja a instalação.
Reveja a instalação.
02/09/2002 12:38pm
(~22 anos atrás)
Os aplicativos feitos em PHP-GTK não são compilados. Precisam ter o interpretados instalado na máquina. (Assim como o JAVA). Mas têm vantagens sobre por exemplo a QT (Que requer enormes dll's e so's instalados no sistema para poder executar o aplicativo).
02/09/2002 12:36pm
(~22 anos atrás)
Já consegui fazer várias coisas com o PHP-GTK! Ja criei uma janela gráfica utilizando o glade fazendo um calculo de tribonacci.
Estou começando agora e os desafios vão começando a chegar
=D
Como eu sou programador em php estou tendo muita facilidade.
porém o problema que estou tendo é ao tentar conectar ao mysql, o que é uma coisa simples, ele retorna erro na linha de código que tem justamente o mysql_connect();
precisa habilitar alguma coisa em algum arquivo .ini? ou ele deveria funcionar corretamente??
o erro que ele retorna é esse
"Fatal error: Call to undefined function mysql_connect() in <endereco do programa> on line <linha>"
Alguem sabe como me ajudar
estou usando o netbeans para compilar
desde já agradeço
um abraço!