C/Visual C - Lecturas desde teclado

 
Vista:

Lecturas desde teclado

Publicado por Adrià (1 intervención) el 19/05/2003 23:01:05
Tengo que hacer una practica que consiste en capturar la informació leída de un codigo de barras echo por mi (con la codificació 39 ASCII) e introducirlo a una base de datos. La cuestion es que, si el lector de codigo de barras lee igual como si fuera una entrada por teclado, puedo leerlo con PHP e introducirlo a una BD MySQL ? Ho deberia hacerlo en C para luego introducirlo en una BD MySQL ? En cualquier de los dos casos, me gustaria que me echárais un cable.

Gracies de antemano :-)

Un cordial saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Captura y almacenamiento de códigos de barras en MySQL

Publicado por Alejandro (1153 intervenciones) el 10/06/2025 22:41:51
Claro, puedo ayudarte con eso. Aquí tienes un enfoque para capturar la información de un código de barras y almacenarla en una base de datos MySQL, tanto si decides hacerlo en PHP como en C.

Opción 1: Usando PHP



1. Configuración del entorno:
- Asegúrate de tener un servidor web con PHP y MySQL (puedes usar XAMPP o WAMP para facilitar la instalación).

2. Captura de datos:
- Puedes usar un formulario HTML para capturar la entrada del código de barras. Dado que el lector de códigos de barras actúa como un teclado, puedes capturar la entrada directamente.

1
2
3
4
5
<form method="POST" action="guardar_codigo.php">
    <label for="codigo">Código de Barras:</label>
    <input type="text" id="codigo" name="codigo" required>
    <input type="submit" value="Guardar">
</form>

3. Guardar en la base de datos:
- En el archivo `guardar_codigo.php`, puedes procesar la entrada y guardarla en la base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$servername = "localhost";
$username = "tu_usuario";
$password = "tu_contraseña";
$dbname = "tu_base_de_datos";
 
// Crear conexión
$conn = new mysqli($servername, $username, $password, $dbname);
 
// Verificar conexión
if ($conn->connect_error) {
    die("Conexión fallida: " . $conn->connect_error);
}
 
// Capturar el código de barras
$codigo = $_POST['codigo'];
 
// Insertar en la base de datos
$sql = "INSERT INTO codigos_barras (codigo) VALUES ('$codigo')";
if ($conn->query($sql) === TRUE) {
    echo "Código de barras guardado correctamente.";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
 
$conn->close();
?>

Opción 2: Usando C



1. Configuración del entorno:
- Necesitarás un compilador de C y una biblioteca para conectarte a MySQL, como `MySQL Connector/C`.

2. Captura de datos:
- Puedes usar la entrada estándar para capturar el código de barras.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#include <mysql/mysql.h>
 
int main() {
    char codigo[100];
    printf("Introduce el código de barras: ");
    scanf("%s", codigo);
 
    // Conexión a la base de datos
    MYSQL *conn;
    conn = mysql_init(NULL);
    if (conn == NULL) {
        fprintf(stderr, "mysql_init() failed\n");
        return EXIT_FAILURE;
    }
 
    if (mysql_real_connect(conn, "localhost", "tu_usuario", "tu_contraseña", "tu_base_de_datos", 0, NULL, 0) == NULL) {
        fprintf(stderr, "mysql_real_connect() failed\n");
        mysql_close(conn);
        return EXIT_FAILURE;
    }
 
    // Insertar en la base de datos
    char query[256];
    snprintf(query, sizeof(query), "INSERT INTO codigos_barras (codigo) VALUES ('%s')", codigo);
    if (mysql_query(conn, query)) {
        fprintf(stderr, "INSERT failed. Error: %s\n", mysql_error(conn));
    } else {
        printf("Código de barras guardado correctamente.\n");
    }
 
    mysql_close(conn);
    return EXIT_SUCCESS;
}

Consideraciones finales



- Seguridad: Asegúrate de manejar adecuadamente la entrada del usuario para evitar inyecciones SQL. En PHP, puedes usar declaraciones preparadas. En C, asegúrate de sanitizar la entrada.
- Pruebas: Realiza pruebas con tu lector de códigos de barras para asegurarte de que la entrada se captura correctamente.

¡Buena suerte con tu práctica, Adrià!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar