| 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 ____________________________ 354.- Proyecto Bar de tapas. Subir y visualizar en web.  (III).   p350C_bar_de_tapas.aia
 __________________________________________ - Comentarios.  - En los dos tutoriales anteriores hemos desarrollado esta aplicación de pedidos de tapas y bebidas en un bar por el móvil. - Vamos a mejorar la aplicación. __________________________________________ - Mejora de los pedidos subidos a internet. - Las próximas mejoras serán: - Nombre de archivo subido, personalizado con nombre de mesa y hora y minuto: 20_12_Mesa1.htm - El cocinero del bar, podrá ver el listado de pedidos entrando en una página web.  __________________________________________ - Diseño y Bloques.  - El Diseño es el mismo que teníamos en los tutoriales anteriores de este proyecto.  - Va a cambiar la parte final del código de App inventor y el código del archivo PHP. 
 
 - He creado una variable llamada a_web, donde se escribirá casi lo mismo que en el Etiqueta1. He añadido <BR> para separar los renglones cuando se vea como página web. - He tomado el valor inicial que envió la pantalla Screen1, es decir si pulsé la Mesa3, el valor inicial será Mesa3. - Cambio el € por un signo +, ya que el € da problemas al visualizarlo sin codificarlo bien en htm. - Preparo la variable bonita_web, donde establezco los tamaños y colores de las páginas de pedidos.  - He cambiado el nombre del archivo PHP, ahora se llama subir_pedido_web.php __________________________________________ - Código PHP. 
        
          | subir_pedido_web.php
 |  
          | 
<?php
// Juan A. Villalpando
// kio4.com
date_default_timezone_set('Europe/Madrid');
setlocale(LC_ALL,'es_ES');
$dia=strftime("%A, %d de %B de %Y",time());
$hora=strftime("%H_%M",time());
$datos=$_POST;
$contenido=$datos['contenido'];
$mesa = substr($contenido, 0, 5);
$nombre_archivo = 'subidos/'.$hora."_".$mesa.".htm";
$auxi = fopen($nombre_archivo, 'w');
fwrite($auxi, $contenido); 
fclose($auxi);
echo 'Recibido a las '.$hora;
?> |  - Debemos tener creado en el servidor el directorio "subidos", con todos los permisos, para subir los pedidos. - Voy a hacer que el nombre de cada archivo de pedido tenga su hora de pedido y número de mesa que hizo el pedido.  - Tomo la hora y los minutos a los cuales se envió el pedido: date_default_timezone_set('Europe/Madrid'); - Del archivo tomo los 5 primeros caracteres, correspondiente a: Mesa3 - El nombre del archivo será: $nombre_archivo = $hora."_".$mesa.".htm"; - 20_12_Mesa3.htm __________________________________________ - Visualizar el listado de pedidos y los pedidos. - Los archivos de pedidos se guardarán en un directorio de nuestro hosting. Concretamente en el directorio "subidos".  - El cocinero, entrará en un página web y verá el contenido de los pedidos. - En nuestro servidor web, hemos creado un directorio llamado "subidos", la forma de crearlo ya lo vimos en el tutorial: 323_subir_archivo.htm - Es un directorio al que le hemos asignados todos los permisos. 
        
          | subir_pedido_ver.php
 |  
          | 
<?php
// Juan A. Villalpando
// kio4.com
echo "<font size='5' face='Arial, Helvetica, sans-serif'>";
foreach (glob('subidos/*.*') as $nombre_archivo) {
echo "<a href='http://kio4.esy.es/".$nombre_archivo."'>".$nombre_archivo."</a><br>";
}
echo "</font>";
?> |  - Subiremos este archivo .php - Mediante un bucle va listando cada uno de los archivos que hay en el directorio: 'subidos/*.*' - Ese directorio lo presenta con enlaces: echo "<a href='http://androide.net23.net/".$nombre_archivo."'>".$nombre_archivo."</a><br>"; - Si entramos en esa página, que en esta ocasión es PHP, veremos ese listado:     http://kio4.esy.es/subir_pedido_ver.php __________________________________________ - Comentarios. - Hay problemas con las eñes y los acentos, en este caso sería menos escribir el contenido de los archivos de tapas y bebidas sin acentos. Cuando guardes los archivos de tapas.csv y bebidas.csv lo codificas en UFT-8 para que salgan los acentos.  - También se podría haber pasado en nombre de la mesa desde App inventor a PHP directamente como otra variable más.  _____________________- Propuestas.
 - Cada vez que se pulsa en una Mesa y entra la pantalla de Pedido, la aplicación va a internet para obtener los archivos de precios de tapas y bebidas, esto consume un tiempo. - Sería conveniente lo siguiente: la aplicación tendría en la primera pantalla, la Screen1, solamente una portada de presentación. Cuando se ejecute la aplicación y entre en esta portada de inicio, el código irá a internet y bajará los archivos de precios de tapas y bebidas, solo los bajará una vez, cuando se ejecute la aplicación. - Una vez bajado, entrará otra pantalla llamada Mesas, donde estarán las mesas y luego otra llamada Pedidos, donde estará el proceso de pedidos, pero ya no pedirá los archivos de tapas y bebidas a internet, ya que se bajó en la pantalla Screen1 de portada cuando se inició la aplicación. De esta manera la entrada a la pantalla de pedidos será más rápida y segura. - En la portada de la Screen1, la información bajada de los archivos de tapas y bebidas irá a un par de archivos como vimos en el tutorial: 
 
          23C.- Pasar datos entre pantallas. Mediante archivos. Esos archivos ar1.txt y ar2.txr serán comunes a todas la ventanas. En la ventana Pedidos, los VisorDeListas se cargarán con los datos de esos archivo, como ya están bajados a la aplicación, no tendrá que ir a buscarlos a intenet.    p350E_bar_de_tapas.aia
 ____________________________________________________________________
   |