PHP - Enviar datos de un sensor a través de PHP a MySQL

   
Vista:

Enviar datos de un sensor a través de PHP a MySQL

Publicado por Eduardo attipax@gmail.com (18 intervenciones) el 30/03/2016 21:24:36
Hola Buen día.
Estoy realizando un pequeño código para ingresar las "id" desde un sensor ( o lector de identificación) hacia una base de datos a través de un formulario PHP. tengo grandes dudas ya que mi código de reportes ingresa los datos del sensor sin problemas a la base de datos. Pero al hacerlo con un formulario de registros donde tengo que ingresar los datos del usuario por teclado y la "id" por el sensor, no logro ingresar bien los dos datos a la misma talaba (trabajadores). ya que la "id" que viene del sensor no se escribe en el formulario, y se envía uno u otro pero los dos al mismo tiempo no los puedo enviar

Ejemplo:
_ idsensor | __ rut_____ |_ nombre
B22E1ADB | 185763247 | Alejandra

así se me envían a la BD :(
tarjetas-formulario


aqui esta el codigo de reportes del sensor
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
<?php
 
 
$idsensor = $_GET["id"];//Id es lo que viene del lector o sensor de identificación
 
    include("conexion.php");
 
    // Leemos los valores que nos llegan por GET
 
$idsensor =  $_GET['id'];
 
         $consulta = "SELECT * FROM trabajadores WHERE idsensor='".$idsensor."'";
         $ejecutar_consulta = $conexion->query($consulta);
         $num_regs = $ejecutar_consulta->num_rows;
 
          if($num_regs == 0)
            {
       //  insertar los registros de las tarjetas
              $consulta = "INSERT INTO trabajadores (idsensor) VALUES('".$idsensor."')";
        // Ejecutamos la consulta
               $ejecutar_consulta = $conexion->query(utf8_decode($consulta));
 
               echo ("Dato insertado ".$idsensor."<br />");
             }
 
    $conexion->close();
 
?>

el codigo para ingresar del formulario
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
<?php
//asigno variables a los valores que vienen del formulario
$rut = $_GET["rut_txt"];
$nombre = $_GET["nombre_txt"];
 
 
include("conexion.php");
$consulta = "SELECT * FROM trabajadores WHERE rut='rut'"; //verificamos que no exista  previamente el (rut) del usuario en la BD
$ejecutar_consulta = $conexion->query($consulta);
$num_regs = $ejecutar_consulta->num_rows;
 
if($num_regs == 0)
{
 
	$consulta = "INSERT INTO trabajadores(rut,nombre)VALUES('$rut','$nombre')";
	$ejecutar_consulta = $conexion->query(utf8_decode($consulta));
 
	if($ejecutar_consulta)
		$mensaje = "Se ha ingresado al trabajador con el rut <b>$rut</b>";
	else
		$mensaje = "No se pudo ingresar al trabajador con el rut<b>$rut</b> ";
}
else
{
	$mensaje = "No se pudo ingresar al trabajador con el rut  <b>$rut</b>, porque ya existe ";
}
 
$conexion->close();
header("Location: ../index.php?op=alta&mensaje=$mensaje");
?>

código del formulario
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form id="alta-trabajador" name="alta_frm" action="php/agregar-trabajador.php"  method="get" enctype="multipart/from-data">
	<fieldset>
		<legend>Alta de Contacto</legend>
		<div>
			<label for="idsensor">ID Sensor: </label>
			<input type="text" id="idsensor" class="cambio" name="id" placeholder="Ingresa ID " title="Tu ID"/>
		</div>
		<div>
			<label for="rut">Rut: </label>
			<input type="text" id="rut" class="cambio" name="rut_txt" placeholder="Escribe tu rut" title="Tu rut" required />
		</div>
		<div>
			<label for="nombre">Nombre: </label>
			<input type="text" id="nombre" class="cambio" name="nombre_txt" placeholder="Escribe tu nombre" title="Tu nombre" required />
		</div>
 
		<div>
			<input type="submit" id="enviar-alta" class="cambio" name="enviar_btn" value="agregar" />
		</div>
		<?php include("php/mensajes.php"); ?>
	</fieldset>
</form>


al final adjunto los archivos php en un archivo.rar

de antemano muchas gracias por darse el tiempo de leer mi mensaje y responder
Saludos cordiales
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

Enviar datos de un sensor a través de PHP a MySQL

Publicado por santiago (1 intervención) el 30/03/2016 23:59:55
Si comprendí bien lo que necesitas lo que debes hacer es que la istrucción insert (INSERT INTO trabajadores(rut,nombre)VALUES('$rut','$nombre')" .........) debiera ser un UPDATE ya que si el registro del id ya existe solo debes modificar o actualizar dicho registro con los demás datos (rut y nombre).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Enviar datos de un sensor a través de PHP a MySQL

Publicado por Eduardo (18 intervenciones) el 31/03/2016 00:42:03
santiago primero que todo muchas gracias por leer y darte el tiempo de contestar mi consulta.
entonces el código seria así? o no.

1
2
$consulta = "UPDATE trabajadores SET 'rut = $rut','nombre = $nombre';
	$ejecutar_consulta = $conexion->query(utf8_decode($consulta));

saludos cordiales
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

Enviar datos de un sensor a través de PHP a MySQL

Publicado por Yamil Bracho (532 intervenciones) el 31/03/2016 00:53:35
Si rut son campos char deberían ir entre comillas. Asi que te quedaría así :

1
$consulta = "UPDATE trabajadores SET rut = '$rut',nombre = '$nombre'";

Ahora esta consulta actualiza todos los registros de esa tabla... Ojo con eso...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Enviar datos de un sensor a través de PHP a MySQL

Publicado por Eduardo (18 intervenciones) el 31/03/2016 01:10:27
ok. muchas gracias Yamil Bracho are las pruebas, y comentare.

y para que modifique los datos de un "id" en especifico . como por ejemplo el rut y nombre del idsensor = B22E1ADB

sin que afecte a la tabla completa ni a los demás usuarios,
como se tendría que especificar el id?
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

Enviar datos de un sensor a través de PHP a MySQL

Publicado por Eduardo attipax@gmail.com (18 intervenciones) el 31/03/2016 02:25:12
con un
1
WHERE idsensor = '$idsensor';
especifico al id que quiero modificar.

quedaría algo así

1
$consulta = "UPDATE trabajadores SET rut = '$rut',nombre = '$nombre' WHERE idsensor = '$idsensor'";
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

Enviar datos de un sensor a través de PHP a MySQL

Publicado por Eduardo attipax@gmail.com (18 intervenciones) el 02/04/2016 04:06:48
muchas gracias a ambos, Santiago y Yamil Bracho por leer y responder a mi consulta, tenían mucha razón que debia utilizar un
1
UPDATE
ya que el registro existía y había que modificar.

muchas gracias.
Saludos
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