|     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:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando

--- PHP y MySQL en App Inventor 2 --

Volver al índice del tutorial de PHP y MySQL

____________________________

340B.- App inventor y MySQL. Otra forma.

p340B_mysql_php.aia

- Fíjate, en el tutorial anterior las órdenes PHP estaban en el código del App inventor.

- Por ejemplo, este es el código de App inventor donde se ponía la orden de insertar: INSERT INTO personas (Nombres, Edad, Ciudad) VALUES (.... etcétera...

Esta orden irá al correspondiente archivo PHP y se ejecutará para insertar los datos en la base de datos MySQL.

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

- Por otra parte, anteriormente vimos en los tutoriales: 335_php_mysql_web.htm y en 337_php_mysql_web_2.htm

- que los códigos pueden estar en archivo PHP, es decir, enviar los datos, pero la orden de ejecución de MySQL está en el archivo PHP.

---------------------------------------------
- Ahora.

- Pues bien, ahora lo que queremos es volver hacer lo que hicimos en el tutorial anterior con códigos en App inventor: 340_appinventor_mysql.htm,

- pero ahora que las órdenes estén en un archivo PHP.

- Podríamos hacerlo en varios archivos, como hicimos en: 335_php_mysql_web.htm

- Pero vamos a hacerlo en un solo archivo, como hicimos en: 337_php_mysql_web_2.htm

- Manos a la obra.

- Tenemos la misma base de datos que la del tutorial anterior:

_________________
- Diseño.

- Mantenemos el mismo Diseño que en el ejemplo: 340_appinventor_mysql.htm

NOTA: Web1 está en Conectividad (no confundir con VisorWeb)

_________________
- Bloques.

- El archivo está en http://kio4.esy.es/basedatosmysql_bd_unida.php.

_________________
- Comentarios.

- Fíjate que ahora va al archivo http://kio4.esy.es/basedatosmysql_bd_unida.php?

- Se envía el nombre del Botón y los datos correspondientes.

- La orden de inserción de datos está en el archivo PHP

$query="insert into personas (Nombre, Edad, Ciudad) values ('$Nombre','$Edad','$Ciudad')";

- La orden de inserción de datos está en el archivo PHP

_________________
- Archivo PHP.

En nuestro servidor web necesitaremos un archivo PHP, concretamente: basedatosmysql_bd_unida.php, que tome el valor de los datos y ejecute la orden correspondiente según el Botón pulsado.

Como bien digo, este archivo debe estar en nuestro servidor web, en mi caso: http://kio4.esy.es/basedatosmysql_bd_unida.php

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

error_reporting ( E_ALL  ^  E_NOTICE  ^  E_DEPRECATED );
// error_reporting ( 0 );

// 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";

$con = mysql_connect($db_host, $db_login, $db_pswd) or die(mysql_error());
mysql_set_charset("utf8"); 

// 2.- CONEXION A LA BASE DE DATOS
mysql_select_db($db_name) or die(mysql_error());


$boton = $_GET['boton'];

/////////////////////////////// INSERTAR ////////////////////////////////////
if ($boton == "btnEnviar"){
$Nombre = $_GET['Nombre'];
$Edad = $_GET['Edad'];
$Ciudad = $_GET['Ciudad'];
$query="insert into personas (Nombre, Edad, Ciudad) values ('$Nombre','$Edad','$Ciudad')";
$result = mysql_query($query);

}
/////////////////////////////// BORRAR ////////////////////////////////////
if ($boton == "btnBorrar"){
$Nombre = $_GET['Nombre'];
$query="delete from personas where Nombre='$Nombre'";
$result = mysql_query($query);

}
////////////////////////////// MODIFICAR /////////////////////////////////////
if ($boton == "btnActualizar"){
$Nombre = $_GET['Nombre'];
$Edad = $_GET['Edad'];
$Ciudad = $_GET['Ciudad'];
$query="update personas set Edad='$Edad', Ciudad='$Ciudad' WHERE Nombre='$Nombre'";
$result = mysql_query($query);

}
////////////////////////////// CONSULTAR /////////////////////////////////////

if ($boton == "btnBuscarNombre"){
$Nombre=$_GET['Nombre'];
$hacer = mysql_query ("SELECT * FROM personas WHERE Nombre='$Nombre' ");
enviar_respuesta($hacer);
}
if ($boton == "btnVerTabla"){
$hacer = mysql_query ("SELECT * FROM personas");
enviar_respuesta($hacer);
}

///////////////////////////////////////////////////////////////////////////////
// En los casos que hay btnBuscarNombre o btnVerTabla y se debe enviar una respuesta actúa este código.

function enviar_respuesta($hacer)
{
$resultado = mysql_query("SHOW COLUMNS FROM personas");
$numerodefilas = mysql_num_rows($resultado);
if ($numerodefilas > 0) {

while ($rowr = mysql_fetch_row($hacer)) {
for ($j=0;$j<$numerodefilas;$j++) {
$en_csv .= $rowr[$j].", ";
}
$en_csv .= "\n<br>";
}

}

print $en_csv;

}
///////////////////////////////////////////////////////////////////
mysql_close($con);
?>

 

Fijate que el nombre y contraseña son los que le pusistes a la base de datos.

Conectamos con la base de datos:

$con = mysql_connect($db_host, $db_login, $db_pswd) or die(mysql_error());

Tomamos GET la información que nos llega del boton:

$boton = $_GET['boton'];

Según como sea ese valor: btnEnviar, btnBorrar, btnActualizar, btnBuscarNombre o btnVerTabla, irá a la parte del código que realiza esa orden.

En esa parte del código se toman los datos enviados y se realiza la orden:

if($boton == "btnEnviar"){
$Nombre = $_GET['Nombre'];
$Edad = $_GET['Edad'];
$Ciudad = $_GET['Ciudad'];
$query="insert into personas (Nombre, Edad, Ciudad) values ('$Nombre','$Edad','$Ciudad')";
$result = mysql_query($query);

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

- La parte de btnBuscarNombre o btnVerTabla, es algo más complicado.

- Lo que hace es tomar los datos requeridos y meterlos en la variable $en_csv

- Esta variable se envía al código de App inventor, concretamente al Bloque. Web1.ObtuvoTexto.

- La forma de enviarlo es mediante: print $en_csv;

- Este bloque presentará el resultado de print $en_csv;

- Lo presentará en forma de texto, además mediante el bloque de lista desde tabla CSV lo convertimos a lista.

- Una vez que está como lista, el usuario puede tomar los índices necesarios.

_______________________________

- 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