PHP - Añadir valores numericos y luego consultar la informacion

 
Vista:
sin imagen de perfil

Añadir valores numericos y luego consultar la informacion

Publicado por john (7 intervenciones) el 22/08/2021 07:12:50
Saludos,

Me gustaria saber como puedo añadir datos numericos [valores de moneda $0.00] en los campos para luego enviarlos a la base de datos en este caso "data"
la tabla a consultar seria: "valores" dentro de valores , valor1,valor2
luego consultar la informacion dentro de la pagina "datos.php"

Ejemplo:

Datos.php
--------------
Valor #1:[Aqui ingresar los datos numericos]
Valor #2
Total [Aqui el total de la suma de campo1+campo2]

Boton: [Enviar datos a la base de datos]


Consultar: [Dentro de la misma pag datos.php]

Mostrar valores: [Aqui mostrar la informacion solicitada]



Espero haberme explicado lo mejor posible,

Gracias!!
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 Jorge

Añadir valores numericos y luego consultar la informacion

Publicado por Jorge (69 intervenciones) el 22/08/2021 12:04:05
Hola jhon,

Asegúrate que los campos valor1, valor2 y total sean del tipo decimal con una longitud/valor de 6,2

Asegúrate tener un campo autoincrement llamado id

Después, prueba esto:

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
35
36
37
38
39
40
41
42
<?php
// Reemplaza $conexion por la variable de conexión a tu base de datos.
 
if (isset($_POST['enviar'])){
$valor1 = mysqli_real_escape_string($conexion,$_POST['valor1']);
$valor2 = mysqli_real_escape_string($conexion,$_POST['valor2']);
$valor1 = str_replace(',','.',$valor1);$valor2 = str_replace(',','.',$valor2);
$total = $valor1 + $valor2;
 
$sql = "INSERT into valores(valor1, valor2, total) values('$valor1','$valor2','$total')";
mysqli_query($conexion, $sql) or die('Error: '.mysqli_error($conexion));
}
?>
 
<form action="" method="post">
<input type="text" name="valor1" placeholder="Valor 1"><br/>
<input type="text" name="valor2" placeholder="Valor 2"><br/>
<input type="submit" name="enviar" value="Enviar">
</form>
<?php
$valores = mysqli_query($conexion, "SELECT * FROM `valores` ORDER BY id ASC");
  $total = mysqli_num_rows($valores);
if($total>0){
	?>
<table width="200" border="1">
  <tr>
    <td>ID</td>
    <td>Valor 1</td>
    <td>Valor 2</td>
    <td>Total</td>
  </tr>
  <?php
  while ($valor = mysqli_fetch_assoc($valores)) { ?>
  <tr>
    <td><?php echo $valor['id']; ?></td>
    <td>$ <?php echo round($valor['valor1'], 2); ?></td>
    <td>$ <?php echo round($valor['valor2'], 2); ?></td>
    <td>$ <?php echo round($valor['total'], 2); ?></td>
  </tr>
  <?php } ?>
</table>
<?php } ?>
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
sin imagen de perfil

Añadir valores numericos y luego consultar la informacion

Publicado por john (7 intervenciones) el 23/08/2021 08:56:59
gracias, jorge el codigo me funciono excelente

pero lo que no logro conseguir es que se sume el valor actual con el nuevo valor ingresado

ejemplo:

si en la columa valor1 = (20)

cuando escriba el nuevo valor (40) dentro del campo "[Inserte el valor]"

debe darme como resultado (60) y asi suscesivamente ir sumando los valores
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
Imágen de perfil de Jorge

Añadir valores numericos y luego consultar la informacion

Publicado por Jorge (69 intervenciones) el 23/08/2021 11:20:16
Si no entendí mal, puedes lograrlo sumando en la misma consulta:

1
2
3
$valor= 5;
$consulta = "UPDATE valores SET valor1 = valor1 + $valor";
mysqli_query($conexion, $consulta) or die('Error: '.mysqli_error($conexion));
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
sin imagen de perfil

Añadir valores numericos y luego consultar la informacion

Publicado por john (7 intervenciones) el 25/08/2021 03:21:41
hola jorge, esta quedando genial, gracias por la ayuda brindada

una ultima inquietud

si quisiera hacerlo algo mas completo por ejemplo:

que cuando inicie una sesion: "luis"

digite el valor: [ 5 ] = se escribe el valor y se envia

Su valor es: 5 = aqui devuelve el valor [usando echo]

si al escribir "cualquier valor en 'digite el valor" ejemplo: 7 se sumen los valores

resutado= 12

seria una forma mas simple, sin tener usar 2 campos para valores solo un solo campo y que al digitar un valor los sume

entonces tambien tendria que haber una condicion "if" que si no existe ningun valor (ya que es un usuario nuevo}, que al iniciar sesion el valor seria igual "0"
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
Imágen de perfil de Jorge

Añadir valores numericos y luego consultar la informacion

Publicado por Jorge (69 intervenciones) el 27/08/2021 08:23:16
Hola! elimina el campo valor2 y el campo total crea un campo después del campo id llamado user_id y renombra el campo valor1 por valor. Recupera el id del usuario logueado (imagino que lo tendrás en una variable de sesión) en este ejemplo, para identificar al usuario en las consultas, usare la variable $_SESSION['user_id']

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
35
<?php
session_start();
 
// Reemplaza $conexion por la variable de conexión a tu base de datos.
 
if (isset($_POST['enviar'])){
$valor = mysqli_real_escape_string($conexion,$_POST['valor']);
 
$total = mysqli_query($conexion, "SELECT * FROM `valores` WHERE user_id = '".$_SESSION['user_id']."'");
$total = mysqli_num_rows($total);
 
if($total>0){
$sql = "UPDATE valores SET valor = valor + $valor WHERE user_id = '".$_SESSION['user_id']."'";
mysqli_query($conexion, $sql) or die('Error: '.mysqli_error($conexion));
} else {
$sql = "INSERT into valores(user_id, valor) values('".$_SESSION['user_id']."','$valor')";
mysqli_query($conexion, $sql) or die('Error: '.mysqli_error($conexion));
}
}
?>
 
<form action="" method="post">
<input type="text" name="valor" placeholder="Digite un valor"><br/>
<input type="submit" name="enviar" value="Enviar">
</form>
<?php
$valor = mysqli_query($conexion, "SELECT * FROM `valores` WHERE user_id = '".$_SESSION['user_id']."'");
$total = mysqli_num_rows($valor);
$valor = mysqli_fetch_assoc($valor);
if($total>0){
	?>
    <br/><br/><span style="font-size:18px;">Su valor es:<strong> <?php echo round($valor['valor'], 2); ?> </strong></span>
<?php } else { ?>
<br/><br/><span style="font-size:18px;"><strong> Su valor es 0. </strong></span>
<?php } ?>
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