Spanish Añadir y mostrar Registros SQL

TheFalcon

Active Member
Licensed User
Longtime User
Buenas, e seguido los pasos de este tutorial, el cual es muy facil.

https://www.b4x.com/android/forum/threads/b4a-tutorial-sentencias-preparadas-php-pdo-mysql.69464/

La duda es como hago para añadir mas registros , y como haría para mostrar mas campos en el listview ya que me muestra solo el campo Titulo, Consigo hacer que me funcione con un server wamp , que tengo instalado en la Oficina, incluso vía Online, pero no se por donde meterle mano a las secuencias. Cualquier orientación hacia un tutorial o post sobre lo mismo me valdría, ya que no encuentro nada.

Un saludo y Gracias
 

rscheel

Well-Known Member
Licensed User
Longtime User
Yo realice el tutorial ese, pero no capto cual es tu pregunta.
 

TheFalcon

Active Member
Licensed User
Longtime User
Lo que no consigo es añadir datos nuevos, y luego Listarlos en el listview, o listar los que ya existen ya que solo muestra el campo titulo

E estado probando , te comento:

En el Proyecto modifico y añado campo telefono
B4X:
 GetSQL.download2(ServerIP, Array As String ("REQUEST_METHOD", ADD, "titulo", edTitulo.Text, "descripcion", edDescripción.Text, "prioridad", spPrioridad.SelectedItem, "categoria", spCategoria.SelectedItem, "telefono", txttelefono.Text))

Luego he modificado los PHP
B4X:
// Insertar meta
    $retorno = Meta::insert(
        $_GET['titulo'],
        $_GET['descripcion'],
        isset($_GET['fechaLim']) ? $_GET['fechaLim'] : date('Y-m-d'),
        $_GET['categoria'],
        $_GET['prioridad'],
    $_GET['telefono']
);

y el Resto de PHP añadiendo el campo telefono

B4X:
 " prioridad)," .
        " telefono)" .
            " VALUES( ?,?,?,?,?,?)";

y ahora cuando agrego no me agrega nada, comentar que también agregue al la base de datos la columna telefono.
 
Last edited:

rscheel

Well-Known Member
Licensed User
Longtime User
Lo que no consigo es añadir datos nuevos, y luego Listarlos en el listview, o listar los que ya existen ya que solo muestra el campo titulo

E estado probando , te comento:

En el Proyecto modifico y añado campo telefono
B4X:
 GetSQL.download2(ServerIP, Array As String ("REQUEST_METHOD", ADD, "titulo", edTitulo.Text, "descripcion", edDescripción.Text, "prioridad", spPrioridad.SelectedItem, "categoria", spCategoria.SelectedItem, "telefono", txttelefono.Text))

Luego he modificado los PHP
B4X:
// Insertar meta
    $retorno = Meta::insert(
        $_GET['titulo'],
        $_GET['descripcion'],
        isset($_GET['fechaLim']) ? $_GET['fechaLim'] : date('Y-m-d'),
        $_GET['categoria'],
        $_GET['prioridad'],
    $_GET['telefono']
);

y el Resto de PHP añadiendo el campo telefono

B4X:
 " prioridad)," .
        " telefono)" .
            " VALUES( ?,?,?,?,?,?)";

y ahora cuando agrego no me agrega nada, comentar que también agregue al la base de datos la columna telefono.

Has revisado el log de php, si te arroja algún error, también puedes colocar en el archivo php un error_log($_SERVER['QUERY_STRING']), para ver lo que recibe el php
 

rscheel

Well-Known Member
Licensed User
Longtime User
igual comentarte que cuando la cadena es demacrada extensa no te realizara el insert en la bd, remplaza el código de tu funcion insert por el siguiente código, en tu archivo php, es un ejemplo debes adaptarlo a tu código.

B4X:
    public static function insertDetmaterial($id_det, $imei, $id_mantencion, $id_detmantencion, $fecha, $id_material, $cantidad) {
        $sentencia = Database::getInstance()->getDb()->prepare("INSERT INTO det_material_mant
                    (id_detmattel, imei, id_mantencion, id_detmantencion, fecha, id_material, cantidad)
                    VALUES (:id_detmattel, :imei, :id_mantencion, :id_detmantencion, :fecha, :id_material, :cantidad);");
    
        $sentencia->bindParam(':id_detmattel', $id_det);
        $sentencia->bindParam(':imei', $imei);
        $sentencia->bindParam(':id_mantencion', $id_mantencion);
        $sentencia->bindParam(':id_detmantencion', $id_detmantencion);
        $sentencia->bindParam(':fecha', $fecha);
        $sentencia->bindParam(':id_material', $id_material);
        $sentencia->bindParam(':cantidad', $cantidad);

        return $sentencia->execute();
       
    }
 

TheFalcon

Active Member
Licensed User
Longtime User
Gracias por molestarte en responderme y perder tu tiempo :). e modificado el Insert.php y lo deje así, pero sigue sin añadirme, el único campo que no uso hay es el Imeta que es un primary key auto incrementable.

B4X:
<?php
/**
* Insertar una nueva meta en la base de datos
*/

public static function Insertar($titulo, $descripcion, $categoria, $prioridad, $telefono)
{
        $sentencia = Database::getInstance()->getDb()->prepare("INSERT INTO meta
                    (titulo, descripcion, categoria, prioridad, telefono)
                    VALUES (:titulo, :descripcion, :categoria, :prioridad, :telefono);");
  
        $sentencia->bindParam(':titulo', $titulo);
        $sentencia->bindParam(':descripcion', $descripcion);
        $sentencia->bindParam(':categoria', $categoria);
        $sentencia->bindParam(':prioridad', $prioridad);
        $sentencia->bindParam(':telefono', $telefono);
     

        return $sentencia->execute();
     
    }

PD. Siempre que agrego me da error la aplicación y se reinicia, aunque creo que no tiene que ver por que también me lo hacia cuando añadía bien, siguiendo los pasos de tu tutorial
 
Top