|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando

-- Tutorial de iniciación a Autoit --

Volver al índice del tutorial

____________________________

75.- Subir, borrar, modificar, ver datos en MySQL.

- Vamos a subir, borrar, modificar, ver datos en una base de datos remota MySQL. Lo haremos mediante PHP.

- Sería conveniente haber estudiado los tutoriales de App Inventor y MySQL ya que las bases de datos y los archivos que vamos a utilizar son muy parecidos a los que vimos en esos tutoriales. De todos modos se puede seguir este tutorial sin haber visto el susodicho.

_______________________________________________________
1.- Necesitamos un hosting.

- Vamos a creanos una cuenta en un hosting gratuito donde estará nuestra base de datos MySQL. Lo vamos hacer en Hostinger.

- Lee este tutorial y créate una cuenta gratuita en Hostinger.

- Además aprende a subir archivos a Hostinger mediante el cliente de FTP Mozilla.

- También aprende a crear una base de datos mediate PhpMyAdmin en Hostinger.

- Todo eso lo puedes ver en este tutorial.

317.- Hosting gratuito Hostinger.

_______________________________________________
2.- Creación de una base de datos y una tabla.

- Al final del tutorial mencionado anteriormente creamos una base de datos llamada u798509677_comun, con un usuario llamado u798509677_juan, la base de datos está en mysql.hostinger.es.

- Pues bien más adelante cuando veamos los archivos PHP tendremos que poner esta información para comunicarnos desde PHP con la base de datos:

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es";

$db_name="u78509677_comun
";
$db_login="u78509677_juan
";
$db_pswd="contraseña";
$link = mysql_connect($db_host, $db_login, $db_pswd);

- Dentro de esa base de datos vamos a crear una tabla llamada personas

- La forma de crearla la vimos en este tutorial:

335_i.- MySQLi y PHP Web. Insertar. Borrar. Actualizar. Consultar. En versión MySQLi.

- Creamos una tabla llamada "personas" con 4 campos:

id, INT (11), Auto_Increment, Primaria
Nombre, varchar(10)
Edad, varchar(3)
Ciudad, varchar(12)

- Ya tenemos la base de datos y la tabla preparadas para recibir datos.

_____________________________________________________
3.- Archivo PHP.

- También lo vimos en el tutorial: 335_i.- MySQLi y PHP Web. Insertar. Borrar. Actualizar. Consultar. En versión MySQLi.

- Voy a modificar un poco ese archivos PHP que vimos en ese tutorial.

- Este archivo recibe mediante $_POST los datos que enviará AutoIt. Identificará la base de datos:

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es";

$db_name="u78509677_comun
";
$db_login="u78509677_juan
";
$db_pswd="contraseña";
$link = mysql_connect($db_host, $db_login, $db_pswd);

- Según el primer elemento enviado (insertar, borrar, modificar, consultar) irá a un trozo de código que hará esa operación.

- Enviará una Respuesta de vuelta al AutoIt.

- Recuerda que al trabajar con este tipo de archivos debes tener cuidado con la comillas 'simples' y las "dobles".

i_bd_unida_autoit.php
				   
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="mysql.hostinger.es";
$db_name="u798509677_comun";
$db_login="u798509677_juan";
$db_pswd="contraseña";

// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);

$datos = $_POST;
$eleccion = $_POST['eleccion'];
///////////////////////////////    INSERTAR ////////////////////////////////////
if($eleccion == 'insertar'){
    $nombre = $_POST['nombre'];
    $edad = $_POST['edad'];
    $ciudad = $_POST['ciudad'];
    $query="insert into personas (Nombre, Edad, Ciudad) values ('$nombre','$edad','$ciudad')";
$result = mysqli_query($link, $query);
print("Datos agregados a la base.");
mysqli_close($link);
}
///////////////////////////////    BORRAR  ////////////////////////////////////
if($eleccion == 'borrar'){
    $nombre = $_POST['nombre'];
    $query="delete from personas where Nombre='$nombre'";
$result = mysqli_query($link, $query);
print("Datos borrados.");
mysqli_close($link);
}
//////////////////////////////    MODIFICAR  /////////////////////////////////////
if($eleccion == 'modificar'){
    $nombre = $_POST['nombre'];
    $edad = $_POST['edad'];
    $ciudad = $_POST['ciudad'];
    $query="update personas set Edad='$edad', Ciudad='$ciudad' WHERE Nombre='$nombre'";
$result = mysqli_query($link, $query);
print("Datos modificados.");
mysqli_close($link);
}
//////////////////////////////    CONSULTAR  /////////////////////////////////////
if($eleccion == 'consultar'){
    $nombre = $_POST['nombre'];
//  RECOGIDA DE DATOS DEL FORMULARIO
$nombre=$_POST['nombre'];

//  SELECCIÓN
if ($nombre==''){
    $hacer = mysqli_query ($link, "SELECT * FROM personas");
}
else {
    $hacer = mysqli_query ($link, "SELECT * FROM personas WHERE Nombre='$nombre' ");
};

///////////////////////////////////////////////////////////////////////////////
// En los casos que hay SELECT y se debe enviar una respuesta actúa este código

    $resultado = mysqli_query($link, "SHOW COLUMNS FROM personas");
    $numerodefilas = mysqli_num_rows($resultado);
    if ($numerodefilas > 0) {
     
    while ($rowr = mysqli_fetch_row($hacer)) {
     for ($j=0;$j<$numerodefilas;$j++) {
      $en_csv .= $rowr[$j].", ";
     }
     $en_csv .= ";\n"; // El punto y como y la \n son para indicar nueva línea.
    }
     
    }
     
    print $en_csv;

mysqli_close($link);
}
///////////////////////////////////////////////////////////////////

?>

_____________________________________________________
4.- Aplicación en AutoIt para enviar los datos y recibirlos de MySQL.

- Enviará un mensaje al servidor remoto y mediante PHP insertará la información en MySQL. Además mediante print devolverá una respuesta.

          

Código para el AutoIt
				   
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=d:
$Form1_1 = GUICreate("MySQL - Juan A. Villalpando", 481, 506, 192, 132)
$Label1 = GUICtrlCreateLabel("Nombre: ", 16, 16, 59, 20)
$Input1 = GUICtrlCreateInput("Juan Antonio", 80, 16, 177, 24)
$Label2 = GUICtrlCreateLabel("Edad: ", 16, 64, 43, 20)
$Input2 = GUICtrlCreateInput("33", 80, 64, 33, 24)
$Label3 = GUICtrlCreateLabel("Ciudad: ", 16, 104, 53, 20)
$Input3 = GUICtrlCreateInput("Puerto Real", 72, 104, 89, 24)
$Button1 = GUICtrlCreateButton("Insertar", 24, 160, 113, 41)
$Button2 = GUICtrlCreateButton("Borrar", 136, 160, 105, 41)
$Button3 = GUICtrlCreateButton("Modificar", 240, 160, 113, 41)
$Button4 = GUICtrlCreateButton("Consultar", 352, 160, 113, 41)
$Label4 = GUICtrlCreateLabel("Label4", 256, 72, 45, 20)
$Edit1 = GUICtrlCreateEdit("", 32, 232, 409, 201,BitOr($WS_VSCROLL, $ES_READONLY, $ES_MULTILINE))
GUICtrlSetData(-1, "Edit1")
; Juan A. Villalpando - KIO4.COM
#EndRegion ### END Koda GUI section ###
GUISetState(@SW_SHOW)


While 1
$msg = GuiGetMsg()
$nombre = GUICtrlRead($Input1)
$edad = GUICtrlRead($Input2)
$ciudad= GUICtrlRead($Input3)
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop

; Botón INSERTAR
    Case $msg = $Button1
$datos = "eleccion=insertar" & "&nombre=" & $nombre & "&edad=" & $edad & "&ciudad=" & $ciudad
enviar()
; Botón BORRAR
    Case $msg = $Button2
$datos = "eleccion=borrar" & "&nombre=" & $nombre
enviar()
; Botón MODIFICAR
    Case $msg = $Button3
$datos = "eleccion=modificar" & "&nombre=" & $nombre & "&edad=" & $edad & "&ciudad=" & $ciudad
enviar()
; Botón CONSULTAR
    Case $msg = $Button4
$datos = "eleccion=consultar" & "&nombre=" & $nombre & "&edad=" & $edad & "&ciudad=" & $ciudad
enviar()
EndSelect
Wend
Exit

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Enviar a MySQL
Func enviar()
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("POST", "http://kio4.esy.es/i_bd_unida_autoit.php", False)
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$oHTTP.Send($datos)
;Recibir de MySQL
$Respuesta = $oHTTP.ResponseText
$Codigo = $oHTTP.Status

Beep(800,500)
$Presentar = StringReplace($Respuesta, ";", @CRLF) ; Cambio de línea.
GUICtrlSetData($Edit1,$Presentar)
EndFunc

- Según pulse un botón toma las variables "eleccion" correspondiente y demás datos.

- Cuando "eleccion" llegue al PHP, éste realizará una de las operaciones según sea esa "eleccion" (insertar, borrar, modificar, consultar)

- La función enviar, envía los datos.

- Para enviar se utiliza la librería objeto de Windows winhttp.winhttprequest.5.5

- Los datos de los botones son enviados a la página PHP que los procesará.

- El código PHP realizará las operaciones pertinente según la elección y devolverá una Respuesta.

- La respuesta la envía el PHP mediante print.

- [También la podría enviar mediante echo].

- El AutoIt toma la información que le ha enviado print, mediante

$Respuesta = $oHTTP.ResponseText

- He puesto ; para indicar cambio de línea.

-----------------------------------------------------------------------------

- El Edit debe ser MULTILINE para verlos en distintos renglones.

- Para ver todos los usuario, deja el Input1 en blanco y pulsa "Consultar".

_______________________________________________
_________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información