Foros del Web » Programando para Internet » PHP » PHP-GTK »

Mi primer script con BD

Estas en el tema de Mi primer script con BD en el foro de PHP-GTK en Foros del Web. que tal epplestum como estas? bueno aqui esta mi primer script que hice con base de datos checalo haber si me puedes dar unos tips ...
  #1 (permalink)  
Antiguo 17/12/2003, 00:54
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 22 años, 5 meses
Puntos: 1
Mi primer script con BD

que tal epplestum

como estas?

bueno aqui esta mi primer script que hice con base de datos checalo haber si me puedes dar unos tips para mejorarlo.

Código PHP:
<?php

 dl
(stristr(PHP_OS,"WIN") ? "php_gtk.dll" "php_gtk.so");

function 
delete_event(){
   return 
false;
}

function 
destroy(){
   
Gtk::main_quit();
   echo 
"Saliendo ...";
}

function 
busca(){
   global 
$caja;
   
   
$cadena $caja->get_text();
   
   
$sql "select * from ejemplo where edad = $cadena";
   
$conexion mysql_connect("localhost","root","admin");
   
mysql_select_db("GTK",$conexion);
   
$result mysql_query($sql,$conexion);
   
   
$ventana2 = &new GtkWindow;
   
$ventana2->connect('destroy','destroy');
   
$ventana2->set_title("Resultado BD");
   
$ventana2->set_border_width(5);

   
$ventana2->set_position("GTK_WIN_POS_CENTER");
   
   
$vhbox2 = &new GtkHbox(false,2);
   do{
      
$nombre = &new GtkLabel($row['nombre']);
      
$edad = &new GtkLabel($row['edad']);

   }while(
$row mysql_fetch_array($result));

   
$vhbox2->pack_start($nombre,false,false);
   
$vhbox2->pack_start($edad,false,false);

   
$ventana2->add($vhbox2);
   
$ventana2->show_all();
}

   
$ventana = &new GtkWindow;
   
$ventana->connect('destroy','destroy');
   
$ventana->set_title("Buscar en BD");
   
$ventana->set_border_width(5);
   
$ventana->set_policy(false,false,false);
   
$ventana->set_position("GTK_WIN_POS_CENTER");
   
   
$edad = new GtkLabel('Edad a Buscar:');

   
$caja = &new GtkEntry();
   
$caja->set_max_length(60);
   
$caja->set_usize(170,23);
   
$caja->set_position(1);
   
$caja->set_editable(true);
   
   
$boton = &new GtkButton("Buscar");
   
$boton->connect_object("clicked","busca","buscar");
   
$boton->set_border_width(2);

   
$vbox = &new GtkVbox(2);
   
$vbox2 = &new GtkVbox(1);
   
$vhbox = &new GtkHbox(2);
   
   
$vhbox->pack_start($Nombre,false,false);
   
$vhbox->pack_start($caja,false,false);
   
$vbox->pack_start($vhbox,false,false);
   
$vbox->pack_start($boton,false,false);
   
$vbox2->pack_start($vbox,false,false);
   
   
$ventana->add($vbox2);

   
$ventana->show_all();

   
gtk::main();


?>
espero que sirva de algo para otros compañeros.

hasta luego y gracias por todo epplestum

Última edición por payo22; 17/12/2003 a las 00:56
  #2 (permalink)  
Antiguo 17/12/2003, 05:57
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años, 5 meses
Puntos: 5
BUeno lo primero felicitarte , lo segundo soy epplestun con n :) jeje y lo tercero .... sobre tips ... o asi pos nose la verdad es que tu manera de programar es diferente a la mia pero eso no varia. Una recomendacion (yo lo hago siempre) es trabajar con objetos, para gustos colores y lo que entiendo es para que usas el connect_object .... yo usaria el connect pero weno ... tu mismo jeje sin mas ... felicidades!! y a seguir programando!

Saludillos!
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 17/12/2003, 10:57
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 22 años, 5 meses
Puntos: 1
Que tal epplestun:

ahora si lo escribi bien jajajaja.

tengo una pregunta como puedo hacer para claro si es que se puede o existe un boton de seleccion en mi ventana o como podria hacer uno.


bueno se me ocurre el siguiente ejercicio no se como lo veas tu.

apartir de los valores de los botones de seleccion generar una consulta y desplegar los resultados en otra ventana.

es posible hacer eso o como podria reemplazar eso que quiero hacer si es que no existen.

gracias por todo.
  #4 (permalink)  
Antiguo 17/12/2003, 11:14
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 22 años, 5 meses
Puntos: 1
creo que es con el GtkList verdad o me equivoco ?

algun ejemplo de como puedo utilizarlo.
  #5 (permalink)  
Antiguo 18/12/2003, 02:32
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años, 5 meses
Puntos: 5
Veamos si te entiendo bien, es decir tener varios botones y segun el que selecciones realice una consulta u otra? y que despliege los resultados en algun sitio?¿

Si es eso, debes saber que con una sola función puedes hacerlo, lo que debes hacer es generar los botones que desees, y en los connect pasarle como tercer argumento un valor y que la funcion que crees dependa de ese valor para realizar la consulta, es decir:

Código PHP:
function getInfo($consulta) {
return 
$consulta;
}

$button = new GtkButton('Primera consulta');
$button ->conenct('clicked''getInfo''SELECT campo FROM tabla');
$button ->show(); 
En la función getInfo puedes hacer lo que desees, si quieres mostrar los resultados en una caja de texto, en un arbol, en una lista .... segun lo que desees.

Otra opción en vez de pasar la consulta como parametro, podrias pasar un entero (int) un numero o una constante, y dentro de la función dependiendo del valor que le pasas realizar una cosa u otra, para ello usaria:

Código PHP:
function getInfo($opcion) {
switch(
$option) {
case 
"0"
//realizo la consulta que deseo aqui
break;
case 
"1":
//realizo la consulta que deseo aqui
break;
default: break;
}

}

$button[0] = new GtkButton('Primera consulta');
$button[0] ->conenct('clicked''getInfo'0);
$button[0] ->show();

$button[1] = new GtkButton('Segunda consulta');
$button[1] ->conenct('clicked''getInfo'1);
$button[1] ->show(); 
Espero que te sirva de algo, por cierto, todo esto que te estoy diciendo yo jeje lo pone en el manual en la parte de signals y events.

Un saludillos!!
__________________
Usuario registrado de Linux #288725
  #6 (permalink)  
Antiguo 18/12/2003, 02:38
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años, 5 meses
Puntos: 5
A por cierto, en tu script no cierras la conexion a la base de datos, eso es una mala costumbre eh ;) jeje pos nada mas.
__________________
Usuario registrado de Linux #288725
  #7 (permalink)  
Antiguo 18/12/2003, 11:08
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 22 años, 5 meses
Puntos: 1
creo que me explique mal lo que quiero es poner un GtkCombo perdon por no explicarme ahora en lugar de buscar en la caja de texto como le hago para enviar el valor que yo seleccione en el combo.

lo que tengo es algo asi:

$edades = array('25','26','27',etc.....);

$combo = &new GtkCombo();
$combo->set_popdown_strings($edades);

como le hago para enviar el valor que seleccione en el combo y haga la busqueda a partir de este valor
  #8 (permalink)  
Antiguo 18/12/2003, 11:59
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años, 5 meses
Puntos: 5
Hola payo22

Bueno no pasa nada jeje para eso estamos

JEJE por cierto ... en el manual de la pagina oficial tienes ejemplos de GtkCombo jeje tambien los podrias mirar


http://gtk.php.net/manual/en/gtk.gtkcombo.php

MIra eso!!

Espero que te sea de ayuda!!!!!!!
__________________
Usuario registrado de Linux #288725

Última edición por epplestun; 18/12/2003 a las 12:04
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:11.