| 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 ____________________________ 400.- Crear usuario. MySQLi. PHP. - En esta página vamos a ver como crear una Base de Datos MySQL. Crear una tabla. - Insertar datos en esa tabla. Borrar datos. Modificar datos. - En el siguiente tutorial veremos como 401.- Obtener datos.  ____________________________________________________ 1.- Mediante el Panel de control de mi hosting, creo una base de datos con el Asistente de Base de datos MySQL.   
 2.- La base de datos se llamará tutorial.  
 3.- Debo establecerle, a esa base de datos, un nombre de usuario y una contraseña.  
 3.- Ya tenemos creada la base de datos, ahora volvemos al Panel de control del hosting y entramos en phpMyAdmin. 
 4.- Ahí debe estar nuestra base de datos. 
 5.- Creación de la estructura de nuestra base de datos: tutorial - Vamos a crear la estructura de nuestra base de datos desde esa misma página de phpMyAdmin. Pulsamos en Crear tabla, establecemos en número de columnas,... 
 - Observa que hemos puesto un identificador id, con Índice PRIMARY y Auto_Incremento. - Además he puesto todos los campos VARCHAR, sean de números, fechas,... todos VARCHAR menos el id.  6.- Ya tenemos la tabla creada: 
 6.- Vamos a exportar la tabla a un archivo.  
 - Bajará a nuestro ordenador. Lo abrimos con Notepad++  - Aquí está, he quitado algunas líneas de información.  
        
          | usuario.sql     |  
          | 
CREATE TABLE `usuarios` (
  `id` int(6) NOT NULL,
  `nombre` varchar(15) CHARACTER SET latin1 COLLATE utf8_spanish2_ci NOT NULL,
  `ciudad` varchar(15) CHARACTER SET latin1 COLLATE utf8_spanish2_ci NOT NULL,
  `edad` varchar(2) CHARACTER SET latin1 COLLATE utf8_spanish2_ci NOT NULL,
  `fecha` varchar(10) CHARACTER SET latin1 COLLATE utf8_spanish2_ci	 NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
ALTER TABLE `usuarios`
  ADD PRIMARY KEY (`id`);
ALTER TABLE `usuarios`
  MODIFY `id` int(6) NOT NULL AUTO_INCREMENT;
COMMIT; 
}
 |  7.- Importar un archivo para crear una tabla. - En vez de crear la tabla "manualmente" como la hemos creado, podríamos tener ya el archivo usuario.sql realizado previamente. - Podemos importar ese archivo y se creará la tabla automáticamente, para ello iríamos Importar y cargaríamos el archivo usuario.sql 
 - Así que podemos exportar e importar una tabla. ________________________________________________________________________________________________________________________________________________________________
 - INSERTAR.  - Vamos a crear una aplicación con App Inventor para insertar datos en esa tabla.  p400_insertar.aia
 ____________________- Diseño.
  - He puesto el componente Web y lo he llamado Web_Insertar. 
 _________________- Bloques.
 
 8.- Archivo de identificación con la base de datos. - Crearemos este archivo con los datos de autentificación de nuestra base de datos. Podriamos poner esta información en el mismo archivo de bd_insertar.php, pero es más seguro hacerlo en un archivo a parte.  
        
          |   bd_autentifica.php |  
          | 
<?php
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="localhost";
$db_name="xxxxxxxx_tutorial"; 
$db_login="xxxxxxxx_juan";
$db_pswd="contraseña";
?>
 |  9. Archivo de inserción de datos en la base de datos.  
        
          | bd_insertar.php |  
          | 
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
require_once('bd_autentifica.php');
// 2.- CONEXION A LA BASE DE DATOS
// mysql_select_db($db_name) or die(mysql_error());
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
// Check connection
if ($link->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
	$nombre = $_POST['nombre'];
	$ciudad = $_POST['ciudad'];
    $edad = $_POST['edad'];
	$fecha = $_POST['fecha'];
    $query="insert into usuarios (nombre, ciudad, edad, fecha) values ('$nombre','$ciudad','$edad', '$fecha')";
    $result = mysqli_query($link, $query);
	echo "Registrado: ".$nombre." ".$ciudad." ".$edad." ".$fecha;
	
    mysqli_close($link);
?>
 |  10.- Si vamos a la base de datos mediante phpMyAdmin, observaremos los datos insertados. 
 - Observa que si pulsas varias veces se escribirán varios registro con los mismos datos, no actualizará. Para que actualice es necesario otra función. - Lo único que ha cambiado es el campo identificador id que se autoincrementa automáticamente.  ________________________________________________________________________________________________________________________________________________________________
 - BORRAR.   p400_borrar.aia
 - Vamos a continuar con la aplicación anterior. Le añadiremos un CampoDeTexto, un Botón2 y una Etiqueta. - Para mayor facilidad en el código vamos a añadir otro componente Web, lo llamaremos Web_Borrar  - Se podría haber utilizado solo un componente web, como se ha visto en tutoriales anteriores, pero en esta ocasión vamos a poner un componente web para cada PHP.  - Escribimos un nombre en el CampoDeTexto, pulsamos el Botón2 y borraremos a ese usuario. - En caso de usuarios con el mismo nombre, se borrarán todos los que tengan ese nombre.  ____________________- Diseño.
 - Escribimos un nombre en el CampoDeTexto y pulsamos el Botón de Borrar.  
 ____________________- Bloques.
  
 ____________________- Código PHP y MySQL para Borrar.
 - Observa en 'nombre' el uso de comilla simple y comillas doble: nombre='$nombre' ";  
        
          | bd_borrar.php |  
          | 
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
require_once('bd_autentifica.php');
// 2.- CONEXION A LA BASE DE DATOS
// mysql_select_db($db_name) or die(mysql_error());
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
// Check connection
if ($link->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
	$nombre = $_POST['nombre'];
    $query="delete from usuarios where nombre='$nombre' ";
    $result = mysqli_query($link, $query);
	echo "Borrado: ".$nombre;
	
    mysqli_close($link);
?>
 |  ____________________- Borrar un usuario con condiciones.
 - Por ejemplo queremos borrar a los usuarios que se llamen Juan y además sean de la ciudad de Jerez.  - Ponemos otro CampoDeTexto para la ciudad y cambiamos este bloque...  
 
        
          | bd_borrar.php |  
          | 
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
require_once('bd_autentifica.php');
// 2.- CONEXION A LA BASE DE DATOS
// mysql_select_db($db_name) or die(mysql_error());
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
// Check connection
if ($link->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
	$nombre = $_POST['nombre'];
	$ciudad = $_POST['ciudad'];
    $query="delete from usuarios where nombre='$nombre' AND ciudad='$ciudad' ";
    $result = mysqli_query($link, $query);
	echo "Borrado: ".$nombre;
	
    mysqli_close($link);
?>
 |  ________________________________________________________________________________________________________________________________________________________________
 - MODIFICAR.   p400_modificar.aia
 - Vamos a modificar los datos de un usuario existente. Escribiremos el nombre del usuario que queremos modificar y luego los datos de ciudad, edad y fecha que queremos modificar. - Si el nombre de usuario no existe en la base de datos, no realizará ninguna acción.  - Utilizaremos los CampoDeTextos1, 2, 3 y 4, creados anteriormente. También utilizaremos la Etiqueta5. - Añadimos el Botón3. ____________________- Diseño.
 - Añadimos otro componente Web y lo llamamos Web_Modificar.  
 ____________________- Bloques.
 
 ____________________- Código PHP y MySQL para Modificar.
 
        
          | bd_modificar.php |  
          | 
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
require_once('bd_autentifica.php');
// 2.- CONEXION A LA BASE DE DATOS
// mysql_select_db($db_name) or die(mysql_error());
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
// Check connection
if ($link->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
	$nombre = $_POST['nombre'];
	$ciudad = $_POST['ciudad'];
    $edad = $_POST['edad'];
	$fecha = $_POST['fecha'];
	$query="update usuarios set ciudad='$ciudad', edad='$edad', fecha='$fecha' where nombre='$nombre' ";
    $result = mysqli_query($link, $query);
	echo "Actualizado: ".$nombre." ".$ciudad." ".$edad." ".$fecha;
	
    mysqli_close($link);
?>
 |  ________________________________________________________________________________________________________________________________________________________________
 - COMPROBAR SI EXISTE UN USUARIO.   p400_existir.aia
 - Vamos a comprobar si un usuario ya existe en la Base de datos. - Ponemos un CampoDeTexto6, un Botón4 y una Etiqueta9. - Escribimos un nombre en ese CampoDeTexto y nos indicará si ese usuario existe o no.  ____________________- Diseño.
 - Añadimos otro componente Web y lo llamamos Web_Comprobar.  - En las Propiedades de la Screen1 he marcado Enrollable para poder mover la pantalla verticalmente.  
 ____________________- Bloques.
 
 ____________________- Código PHP y MySQL para Comprobar.
 
        
          | bd_comprobar.php |  
          | 
<?php
// Juan Antonio Villalpando
// juana1991@yahoo.com 
// http://kio4.com
// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
require_once('bd_autentifica.php');
// 2.- CONEXION A LA BASE DE DATOS
// mysql_select_db($db_name) or die(mysql_error());
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);
// Check connection
if ($link->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
}
    $nombre = $_POST['nombre'];
	$resultado = mysqli_query($link,"SELECT * FROM usuarios WHERE nombre = '$nombre' ");
	$datos = mysqli_fetch_array($resultado, MYSQLI_NUM);
	// Responde si existe o no
	if($datos[0] > 0) {
	echo "si";}
	else	{
	echo "no";}
	
mysqli_close($link);
?>
 |  ________________________________________________________________________________________________________________________________________________________________
 - OBTENER LOS DATOS DE UN USUARIO.  - Lo veremos en el siguiente tutorial.  __________________________________    |