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
____________________________
420.- App Inventor. MySQLi. PHP. Guardar y obtener información. Comercio.
p420_mysql_comercio.aia
- Vamos a guardar y obtener información en una base de datos MySQLi mediante App Inventor.
- En nuestra base de datos xxxxxx_tutorial, creamos la tabla comercio, con esta estructura:
___________________
- Importar la tabla.
- Para crear la tabla anterior, podemos utilizar el siguiente archivo e Importarlo:
comercio.sql |
-- Juan A. Villalpando
-- kio4.com
CREATE TABLE `comercio` (
`id` int(6) NOT NULL,
`nombre` varchar(14) COLLATE utf8_spanish2_ci NOT NULL,
`producto` varchar(12) COLLATE utf8_spanish2_ci NOT NULL,
`precio` varchar(6) COLLATE utf8_spanish2_ci NOT NULL,
`fecha` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
`pagado` varchar(5) COLLATE utf8_spanish2_ci NOT NULL,
`profesional` varchar(5) COLLATE utf8_spanish2_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
ALTER TABLE `comercio`
ADD PRIMARY KEY (`id`);
ALTER TABLE `comercio`
MODIFY `id` int(6) NOT NULL AUTO_INCREMENT;
COMMIT;
|
___________________
- Screen1. Diseño.
___________________
- Screen1. Bloques.
___________________
- Comercio. Diseño.
___________________
- Comercio. Bloques.
___________________
- Comentarios.
- La fecha y nombre de obtienen de la Screen1, aunque el usuario puede cambiarlos en la pantalla Comercio.
- Fíjate en la Propiedad NameSpace de las TinyBD, debe estar establecido: TinyBD_Nombre y TinyBD_Fecha, en las dos pantallas.
___________________
- Códigos PHP.
- Observa el acento grave, la comilla simple y la doble comilla.
$res=mysqli_query($link, "SELECT nombre FROM `comercio` WHERE `nombre`='$nombre' ");
comercio_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'];
$producto = $_POST['producto'];
$precio = $_POST['precio'];
$fecha = $_POST['fecha'];
$pagado = $_POST['pagado'];
$profesional = $_POST['profesional'];
$res=mysqli_query($link, "SELECT nombre FROM `comercio` WHERE `nombre`='$nombre' ");
$row=mysqli_fetch_array($res);
$count = mysqli_num_rows($res);
if( $count == 0 ) { // Si ha contado 0 nombre, es que el usuario no esta registrado. Lo registra y pone los datos.
$query="insert into comercio (nombre, producto, precio, fecha, pagado, profesional) values ('$nombre','$producto', '$precio', '$fecha','$pagado','$profesional')";
$result = mysqli_query($link, $query);
echo 'Registrado y guardado';
}else{
echo ' Ya estaba registrado. Guardado';
// Actualiza
$query="update comercio set producto='$producto', precio='$precio', fecha='$fecha', pagado='$pagado', profesional='$profesional' WHERE nombre='$nombre' ";
$result = mysqli_query($link, $query);
}
mysqli_close($link);
?>
|
comercio_ver.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 comercio WHERE nombre='$nombre' ");
$resultado = mysqli_query($link, "SHOW COLUMNS FROM comercio");
$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);
?>
|
comercio_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 comercio where nombre='$nombre' ";
$result = mysqli_query($link, $query);
echo "Borrado: ".$nombre;
mysqli_close($link);
?>
|
___________________
- Panel de control en web.
- Desde web podremos crear un usuario, borrarlo, ver el nombre de los usuarios creados y ver sus registros.
comercio_panel.php |
<html>
<head><meta charset="UTF-8"></head>
<body>
<font face="Arial">
<form name="test" method="post" action="comercio_panel.php">
<b><font face="Arial, Helvetica, sans-serif">- Crear un usuario.</font></b><font face="Arial, Helvetica, sans-serif"><br>
Escribe el nombre de un usuario para crearlo.
<INPUT TYPE="text" NAME="nombre_crear" value="">
<INPUT TYPE="submit" name="btnCrear" value=" Pulsa crear a ese usuario">
<br>
<b><font color="#009900">_________________________________________________________________</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">_________________________________________________________________</font></b>
<br>
<b>- Borrar un usuario.</b><br>
Escribe el nombre de un usuario para borrarlo.
<INPUT TYPE="text" NAME="nombre_borrar" value="">
<INPUT TYPE="submit" name="btnBorrar" value=" Pulsa para borrar a ese usuario">
<br>
<b><font color="#009900">_________________________________________________________________</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="">
<INPUT TYPE="submit" name="btnConsultarTodo" value=" Pulsa para ver las respuestas de ese usuario o de todos">
</font><br>
<b><font color="#009900" face="Arial">_________________________________________________________________</font></b>
<br>
<b><font color="#009900" face="Arial"><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 comercio 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 comercio(nombre) values('$nombre')"))
{ 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 comercio" )
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 comercio 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 comercio");
}
else {
$hacer = mysqli_query ($link, "SELECT * FROM comercio 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 comercio");
$numerodefilas = mysqli_num_rows($resultado);
if ($numerodefilas > 0) {
echo ("<table border='3' cellpadding='4' cellspacing='0' bordercolor='#009900'");
echo ("<center>");
echo("
<tr>
<td>id</td>
<td>nombre</td>
<td>producto</td>
<td>precio</td>
<td>fecha</td>
<td>pagado</td>
<td>profesional</td>
</tr>
");
while ($rowr = mysqli_fetch_row($hacer)) {
echo("<tr>");
for ($j=0;$j<$numerodefilas;$j++) {
echo("<td><center>".$rowr[$j]."</center></td>");
}
echo("</tr>");
}
}
mysqli_close($link);
}
?>
|
___________________
- Insertar datos desde la web.
- Código parecido al anterior, con la posibilidad de que podemos INSERTAR todos los datos desde una página web.
comercio_insertar_web.php |
<html>
<head><meta charset="UTF-8"></head>
<body>
<font face="Arial">
<form name="test" method="post" action="comercio_insertar_web.php">
<b><font face="Arial, Helvetica, sans-serif">- Crear un usuario.</font></b><font face="Arial, Helvetica, sans-serif"><br>
Nombre:
<INPUT TYPE="text" NAME="nombre" value=""><br><br>
Producto:
<INPUT TYPE="text" NAME="producto" value=""><br><br>
Precio:
<INPUT TYPE="text" NAME="precio" value=""><br><br>
Fecha:
<INPUT TYPE="text" NAME="fecha" value=""><br><br>
Pagado:
<INPUT TYPE="checkbox" NAME="pagado" value="true"><br><br>
Profesional:
<INPUT TYPE="checkbox" NAME="profesional" value="true"><br><br>
<INPUT TYPE="submit" name="btnInsertar" value=" Pulsa insertar los datos">
<br>
<b><font color="#009900">_________________________________________________________________</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">_________________________________________________________________</font></b>
<br>
<b>- Borrar un usuario.</b><br>
Escribe el nombre de un usuario para borrarlo.
<INPUT TYPE="text" NAME="nombre_borrar" value="">
<INPUT TYPE="submit" name="btnBorrar" value=" Pulsa para borrar a ese usuario">
<br>
<b><font color="#009900">_________________________________________________________________</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="">
<INPUT TYPE="submit" name="btnConsultarTodo" value=" Pulsa para ver las respuestas de ese usuario o de todos">
</font><br>
<b><font color="#009900" face="Arial">_________________________________________________________________</font></b>
<br>
<b><font color="#009900" face="Arial"><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.- INSERTAR USUARIO
////////////////////////////// INSERTAR ////////////////////////////////////
if(isset($_POST['btnInsertar'])){
$nombre = $_POST['nombre'];
$producto = $_POST['producto'];
$precio = $_POST['precio'];
$fecha = $_POST['fecha'];
$pagado = $_POST['pagado'];
$profesional = $_POST['profesional'];
$res=mysqli_query($link, "SELECT nombre FROM `comercio` WHERE `nombre`='$nombre' ");
$row=mysqli_fetch_array($res);
$count = mysqli_num_rows($res);
if( $count == 0 ) { // Si ha contado 0 nombre, es que el usuario no esta registrado. Lo registra y pone los datos.
$query="insert into comercio (nombre, producto, precio, fecha, pagado, profesional) values ('$nombre','$producto', '$precio', '$fecha','$pagado','$profesional')";
$result = mysqli_query($link, $query);
echo 'Registrado y guardado';
}else{
echo ' Ya estaba registrado. Guardado';
// Actualiza
$query="update comercio set producto='$producto', precio='$precio', fecha='$fecha', pagado='$pagado', profesional='$profesional' WHERE nombre='$nombre' ";
$result = mysqli_query($link, $query);
}
mysqli_close($link);
}
////////////////////////////////////////////////////////////////////////
// 4.- LISTADO DE TODOS LOS USUARIOS ///////////////////////////////////
if(isset($_POST['btnConsultarUsuarios'])){
$resultado= mysqli_query( $link,"SELECT DISTINCT nombre FROM comercio" )
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 comercio 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 comercio");
}
else {
$hacer = mysqli_query ($link, "SELECT * FROM comercio 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 comercio");
$numerodefilas = mysqli_num_rows($resultado);
if ($numerodefilas > 0) {
echo ("<table border='3' cellpadding='4' cellspacing='0' bordercolor='#009900'");
echo ("<center>");
echo("
<tr>
<td>id</td>
<td>nombre</td>
<td>producto</td>
<td>precio</td>
<td>fecha</td>
<td>pagado</td>
<td>profesional</td>
</tr>
");
while ($rowr = mysqli_fetch_row($hacer)) {
echo("<tr>");
for ($j=0;$j<$numerodefilas;$j++) {
echo("<td><center>".$rowr[$j]."</center></td>");
}
echo("</tr>");
}
}
mysqli_close($link);
}
?>
|
___________________
- Comentarios.
- Se pueden poner varias condiciones mediante el AND.
$res=mysqli_query($link, "SELECT nombre FROM `comercio` WHERE `nombre`='$nombre' AND `fecha`='$fecha' ");
__________________________________
|