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
____________________________
401.- Obtener datos de una base de datos. MySQLi. PHP.
- Este tutorial es una continuacion del anterior, el 400.- Base de datos MySQLi.
- Vamos a utilizar la base de datos tutorial y la tabla usuarios, como vimos en el tutorial anterior.
________________________________________________________________________________
________________________________________________________________________________
- OBTENER INFORMACIÓN.
- Vamos a crear una aplicación con App Inventor para obtener los datos de esa tabla.
p401_obtener.aia
- Escribiremos un nombre y a obtendremos los datos de ese usuario.
____________________
- Diseño.
____________________
- Bloques.
____________________
- Código PHP y MySQL para Obtener.
bd_obtener.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);
}
mysqli_query($link, 'SET NAMES utf8');
$nombre = $_POST['nombre'];
$hacer = mysqli_query ($link, "SELECT * FROM usuarios WHERE nombre='$nombre' ");
$resultado = mysqli_query($link, "SHOW COLUMNS FROM usuarios");
$numerodefilas = mysqli_num_rows($resultado);
if ($numerodefilas > 0) {
while ($rowr = mysqli_fetch_row($hacer)) {
for ($j=0;$j<$numerodefilas;$j++) {
$datos .= $rowr[$j].",";
}
}
}
echo $datos;
mysqli_close($link);
?>
|
________________________________________________________________________________
________________________________________________________________________________
- CREAR USUARIO. BORRAR. OBTENER INFORMACIÓN. DESDE UNA PÁGINA WEB.
- Creamos esta página web y la subimos a nuestro hosting.
- En un navegador web ponemos, en mi caso:
kio4.com/appinventor/php/panel_web.php (en mi servidor no funciona porque lo he deshabilitado)
panel_web.php |
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></head>
<body>
<font face="Arial">
<form name="test" method="post" action="panel_web.php">
<b>- Crear un usuario.</b><br>
Escribe el nombre de un usuario para crearlo.
<INPUT TYPE="text" NAME="nombre_crear" value="<?php echo $nombre_crear ?>">
<INPUT TYPE="submit" name="btnCrear" value=" Pulsa para crear a ese usuario">
<br><b><font color="#009900" face="Arial">_________________________________________________________________</font></b>
<br><b>- Ver el nombre de los usuarios creados.</b><br>
<INPUT TYPE="submit" name="btnConsultarUsuarios" value="Pulsa para ver un listado de los nombres de los usuarios creados">
<br><b><font color="#009900" face="Arial">_________________________________________________________________</font></b>
<br><b>- Borrar un usuario.</b><br>
Escribe el nombre de un usuario para borrarlo.
<INPUT TYPE="text" NAME="nombre_borrar" value="<?php echo $nombre_borrar ?>">
<INPUT TYPE="submit" name="btnBorrar" value=" Pulsa para borrar a ese usuario">
<br><b><font color="#009900" face="Arial">_________________________________________________________________</font></b>
<br>
<b>- Consultar la información de un usuario. (Si no escribes nada, se mostrará las respuesta de todos los usuarios.)</b><br>
Escribe el nombre de un usuario para ver sus respuestas.
<INPUT TYPE="text" NAME="nombre_consultar" value="<?php echo $nombre_consultar ?>">
<INPUT TYPE="submit" name="btnConsultarTodo" value=" Pulsa para ver las respuestas de ese usuario o de todos">
<br><b><font color="#009900" face="Arial">_________________________________________________________________</font></b>
<br><b>- Base de datos a JSON.</b><br>
<INPUT TYPE="submit" name="btnJson" value="Pulsa para crear la base de datos en JSON">
<br>
<b><font color="#009900" face="Arial"><a href="https://jsonformatter.org/?url=http://kio4.com/appinventor/php2/usuarios.json" target="_blank">
- Pulsa para ver el contenido en JSON</a><br>
<a href="usuarios.json">- Bajar como archivo</a><br>
_________________________________________________________________</font></b>
</form>
</body>
</html>
<?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);
}
// 3.- CREAR USUARIO
////////////////////////////// INSERTAR ////////////////////////////////////
if(isset($_POST['btnCrear'])){
$nombre = $_POST['nombre_crear'];
$resultado = mysqli_query($link,"SELECT * FROM usuarios WHERE nombre = '$nombre'");
$datos = mysqli_fetch_array($resultado, MYSQLI_NUM);
if($datos[0] > 0) {echo "Ese usuario ya existe.<br/>";}
else
{
if (mysqli_query($link,"INSERT INTO usuarios(nombre, ciudad, edad, fecha) values('$nombre', '$ciudad', '$edad', '$fecha')"))
{ echo "Registrado.<br/>";
}
else {echo "Error al crear el usuario.<br/>"; }
}
mysqli_close($link);
}
////////////////////////////////////////////////////////////////////////
// 4.- LISTADO DE TODOS LOS USUARIOS ///////////////////////////////////
if(isset($_POST['btnConsultarUsuarios'])){
$resultado= mysqli_query( $link,"SELECT DISTINCT nombre FROM usuarios" )
or die("SELECT Error: ".mysql_error());
print "<table border='3' cellpadding='4' cellspacing='0' bordercolor='#009900'";
while ($row = mysqli_fetch_array($resultado)){
$columna= $row['nombre'];
print "<tr>\n";
print "\t<td>\n";
echo "<font face=arial size=4/>$columna</font>";
print "</td>\n";
print "</tr>\n";
}
print "</table>\n";
mysqli_close($link);
}
////////////////////////////////////////////////////////////////////////
// 5.- BORRAR USUARIOS ///////////////////////////////////
/////////////////////////////// BORRAR ////////////////////////////////////
if(isset($_POST['btnBorrar'])){
$nombre=$_POST['nombre_borrar'];
echo($nombre);
$query="delete from usuarios where nombre='$nombre'";
$result = mysqli_query($link, $query);
print("Datos borrados.");
mysqli_close($link);
}
///////////////////////////////////////////////////////////////////
////////////////////////////// CONSULTAR PÁGINA WEB. /////////////////////////////////////
if(isset($_POST['btnConsultarTodo'])){
// RECOGIDA DE DATOS DEL FORMULARIO
$nombre=$_POST['nombre_consultar'];
// SELECCIÓN
if ($nombre==''){
$hacer = mysqli_query ($link, "SELECT * FROM usuarios");
}
else {
$hacer = mysqli_query ($link, "SELECT * FROM usuarios 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 usuarios");
$numerodefilas = mysqli_num_rows($resultado);
if ($numerodefilas > 0) {
echo ("<table width='100%' border='3' cellpadding='4' cellspacing='0' bordercolor='#009900'");
echo ("<center>");
echo("
<tr>
<td>id</td>
<td>nombre</td>
<td>ciudad</td>
<td>edad</td>
<td>fecha</td>
</tr>
");
while ($rowr = mysqli_fetch_row($hacer)) {
echo("<tr>");
for ($j=0;$j<$numerodefilas;$j++) {
echo("<td><center>".$rowr[$j]."</td></center>");
}
echo("</tr>");
}
}
mysqli_close($link);
}
///////////////////////////////////////////////////////////////////
//////////////////////////////// CONVERTIR A JSON ////////////////////////////////////////
if(isset($_POST['btnJson'])){
// Toma toda la base de datos.
$result = $link->query("SELECT * FROM usuarios");
$dbdata = array();
// Mediante associative array
while ( $row = $result->fetch_assoc()) {$dbdata[]=$row;}
// Formato JSON
// echo json_encode($dbdata);
// Archivo
$archivo = fopen("usuarios.json", "w") or die("Error en el archivo.");
fwrite($archivo, json_encode($dbdata));
fclose($archivo);
}
?>
|
____________________
- Comentarios.
- En la creación del usuario, además del nombre podríamos poner otros casilleros para insertar sus datos de ciudad, edad y fecha.
__________________________________
|