Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Guardar el valor que va acumulando variable.

Estas en el tema de Guardar el valor que va acumulando variable. en el foro de PHP en Foros del Web. Hola a todos/as, quiero hacer la siguiente acción: - Parto de una variable que sea igual a 0 por ejemplo var suma total correctas = ...
  #1 (permalink)  
Antiguo 08/08/2015, 01:22
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Guardar el valor que va acumulando variable.

Hola a todos/as, quiero hacer la siguiente acción:

- Parto de una variable que sea igual a 0 por ejemplo var suma total correctas = 0; y luego en función de los valores que tomen distintas variables introducidas por el usuario quiero que vaya o no aumentando el valor de var suma total correctas en 1; por ejemplo

var dos = " ";
if var dos = 5, entonces var uno + 1, else var uno + 0;

seguiría para el siguiente:
var tres = " ";
if var tres = 2, entonces var uno + 1, else var uno + 0;

Mis dudas son:

-Cómo almaceno el valor de var suma total correctas para que vaya incrementándose o no en uno, en función de las respuestas del usuario.

- No quiero que nada se imprima en pantalla por lo que después de if o else no quiero que se use echo " ", sino que simplemente se sume el valor internamente y el usuario no vea nada de eso.

- Quiero que el valor suma total correctas final, que se va realizando automáticamente se almacene en mi base de datos php myadmin, cómo realizaría esa conexión? puesto que no es un valor que introduce el usuario.


Espero que me haya explicado bien! Un saludo a todos y gracias de antemano!
  #2 (permalink)  
Antiguo 08/08/2015, 04:57
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Guardar el valor que va acumulando variable.

puedes hacerlo con jquery, aunque debe haber otras formas, prueba asi:

Código PHP:
Ver original
  1. <?php
  2. if(empty($_GET['boton'])){} else{
  3.  
  4. if(isset($_GET['palabra']))
  5. $_SESSION['palabra']=$_GET['palabra']+$_SESSION['palabra'];
  6. }
  7. ?>
  8. <form action="" method="get">
  9. <input type="text" name="palabra"/>
  10. <input type="submit" name="boton" value="Enviar"/>
  11. <?php echo $_SESSION['palabra']; ?>
__________________
[email protected]
HITCEL

Última edición por xfxstudios; 08/08/2015 a las 05:09
  #3 (permalink)  
Antiguo 08/08/2015, 05:38
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardar el valor que va acumulando variable.

Yo creo que no has entendido lo que quiero hacer.
  #4 (permalink)  
Antiguo 08/08/2015, 05:53
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Guardar el valor que va acumulando variable.

Cita:
Iniciado por jesus_spanishteacher Ver Mensaje
Yo creo que no has entendido lo que quiero hacer.
seguntu que es entonces???? habla de js, php o que lenguaje?????

solo te di una opcion tu juegas con el codigo adaptandolo a tu manera, si no es eso aunque veo unas cuantas inconsistencias en lo que intentas hacer
__________________
[email protected]
HITCEL

Última edición por xfxstudios; 08/08/2015 a las 06:14
  #5 (permalink)  
Antiguo 08/08/2015, 06:16
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardar el valor que va acumulando variable.

¿qué inconsistencia cuéntame?
  #6 (permalink)  
Antiguo 08/08/2015, 06:18
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Guardar el valor que va acumulando variable.

Cita:
Iniciado por jesus_spanishteacher Ver Mensaje
¿qué inconsistencia cuéntame?
no has dado detalle, es en php o js que lo intentas hacer????, tienes algun codigo ya hecho????? son necesarias esas respuestas para aclarar dudas y asi poder ayudarte mejor y llegar a una solucion
__________________
[email protected]
HITCEL
  #7 (permalink)  
Antiguo 08/08/2015, 06:34
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Guardar el valor que va acumulando variable.

Utiliza el operador ++ para aumentar en 1 la variable. Todo lo que no se anteponga echo se hace internamente es decir no lo va a ver el usuario en pantalla.

Código PHP:
Ver original
  1. if ($vardos == 5)
  2. {
  3.        $vartotal++; //con esto vas aumentando en 1 la variable total
  4. }
  5. if ($vartres == 3)
  6. {
  7.        $vartotal++;
  8. }
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #8 (permalink)  
Antiguo 09/08/2015, 03:00
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardar el valor que va acumulando variable.

Hola a todos, siento la tardanza, es que ayer me tuve que ausentar por la tarde; gracias por vuestras aportaciones; quiero realizar los siguientes comentarios:

He iniciado el código; a ver el tema de no poner si lo iba a hacer por js o php era porque yo mismo tenía la idea de cual era la mejor forma; yo pensaba hacerlo por js pero tras la aportanción de la solución de chronos682, me decanté en hacerlo por php, pues también la posterior conexión a base de datos tendría que hacerla por este tipo de programación. Inicio el código para que tengáis una idea de lo que quiero, pues por la explicación no ha quedado nada claro (sería solamente el código inicial sin la conexión a la base de datos:

Código HTML:
</head>
<body>
<form name="calc">
<input type="Text" name="vardos" value="0" size="12">
<br>
<input type="Text" name="vartres" value="0" size="12">
<br>
<input type="Button" name="comparar" value=" compara " onclick="compara">
[PHP]

<?php 
$vartotal = 0; 
    if ($vardos == 5)
    {
           $vartotal++; //con esto vas aumentando en 1 la variable total
    }
    if ($vartres == 3)
    {
           $vartotal++;
    
    echo ($vartotal='');}
    ?> 







[/PHP]

<br>
<input type="Text" name="resultado" value="0" size="12">
</form>
</body> 

</html>


Ha sido un primer borrador; no funciona al comparar; a ver qué opináis y genial si podéis hacer alguna corrección para que vaya; miraré tb si se puede plantear como programación a objetos; el resultado de var total está planteado en el ejemplo para que salga en pantalla aunque en realidad ese valor, se almacenaría y se enviaría a phpmyadmin, lo he puesto así por ser un simple borrador. 

Gracias de antemano por vuestras aportaciones!
  #9 (permalink)  
Antiguo 09/08/2015, 06:47
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Guardar el valor que va acumulando variable.

yo lo haria con una variable de sesion temporal, algo asi:
Código PHP:
Ver original
  1. <?php
  2.  
  3. if(empty($_GET['comparar'])){
  4.     //aqui declaro la variable en cero al abrir la pagina
  5.     $_SESSION['vartotal'] = 0;
  6.     }
  7.     //aqui limpio la variable con un boton
  8.     else if($_GET['limpiar'] == "Limpiar"){
  9.     $_SESSION['vartotal'] = 0;
  10.     }
  11. else{
  12.  
  13. //aqui asigno a la variable total el valor de la variable de sesion temporal   
  14. $total = $_SESSION['vartotal'];
  15.  
  16.     if ($_GET['vardos'] == 5)
  17.     {
  18.            $_SESSION['vartotal'] = $total + 1; //si se cumple la condicion le sumo 1
  19.     }
  20.     else if ($_GET['vardos'] == 3)
  21.     {
  22.            $_SESSION['vartotal'] = $total-1; //si se cumple la condicion le resto 1
  23.    
  24.     /*echo ($vartotal='')*/
  25.     }
  26. }
  27.     ?>
  28. <form name="calc" action="" method="get">
  29. <input type="Text" name="vardos" value="0" size="12">
  30. <br>
  31. <!--<input type="Text" name="vartres" value="0" size="12">-->
  32. <br>
  33. <!--envio la respuesta-->
  34. <input type="submit" name="comparar" value="compara ">
  35.  
  36. <!--limpio la variable de sesion a 0 -->
  37. <input type="submit" name="limpiar" value="Limpiar ">
  38.  
  39.  
  40.    
  41. <br>
  42. <input type="Text" name="resultado" value="<?php echo $_SESSION['vartotal'] ?>" size="12">
  43. </form>
__________________
[email protected]
HITCEL

Última edición por xfxstudios; 09/08/2015 a las 06:58
  #10 (permalink)  
Antiguo 09/08/2015, 07:20
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Guardar el valor que va acumulando variable.

Cita:
Iniciado por jesus_spanishteacher Ver Mensaje
Hola a todos, siento la tardanza, es que ayer me tuve que ausentar por la tarde; gracias por vuestras aportaciones; quiero realizar los siguientes comentarios:

He iniciado el código; a ver el tema de no poner si lo iba a hacer por js o php era porque yo mismo tenía la idea de cual era la mejor forma; yo pensaba hacerlo por js pero tras la aportanción de la solución de chronos682, me decanté en hacerlo por php, pues también la posterior conexión a base de datos tendría que hacerla por este tipo de programación. Inicio el código para que tengáis una idea de lo que quiero, pues por la explicación no ha quedado nada claro (sería solamente el código inicial sin la conexión a la base de datos:
Te faltaron varias cosas, primero tienes que aprender cómo funcionan los formularios, cómo se envía la información al servidor (métodos POST y GET), cómo se obtiene esa información una vez enviada (array global $_POST) y ahí si ya vas a poder usar los valores de los input. Aquí te dejo el código que pusiste corregido para que lo estudies, pero te recomiendo que empieces leyendo algún tutorial sobre envío de información a través de formularios:

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <?php
  4.     //Se inicializa la variable
  5.     $vartotal = 0;
  6.     //Se comprueba si se oprimió el botón comparar
  7.     if (isset($_POST["comparar"]))
  8.     {
  9.         //Si se oprimió el botón obtiene todos los valores de los input del formulario
  10.         //y los carga en su correspondiente variable
  11.         $vartotal = $_POST["resultado"];
  12.         $vardos = $_POST["vardos"];
  13.         $vartres = $_POST["vartres"];
  14.         //Hace la comparación de la información que llegó desde el formulario
  15.         //Si la variable dos es 5 y la 3 es 3 va sumando 1 a la variable total
  16.         if ($vardos == 5)
  17.         {
  18.                $vartotal++; //con esto vas aumentando en 1 la variable total
  19.         }
  20.         if ($vartres == 3)
  21.         {
  22.                $vartotal++;
  23.         }
  24.     }
  25.     //Al final muestra el valor de la variable total en el input del formulario
  26. ?>
  27. </head>
  28. <body>
  29. <form name="calc" action="" method="post">
  30. Var dos: <input type="Text" name="vardos" value="0" size="12">
  31. <br>
  32. Var tres: <input type="Text" name="vartres" value="0" size="12">
  33. <br>
  34. Resultado (var total): <input type="Text" name="resultado" value="<?php echo $vartotal;?>" size="12">
  35. <br><br>
  36. <input type="submit" name="comparar" value=" compara ">
  37. </form>
  38. </body>
  39. </html>
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #11 (permalink)  
Antiguo 09/08/2015, 10:26
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardar el valor que va acumulando variable.

Chicos gracias por vuestras aportaciones son geniales, la verdad es que el código hace lo que yo quería; ahora estoy tratando de mandar los valores a mi base de datos phpmyadmin, y consigo mandar los valores de $vardos y $vartres, se guardan perfectamente; el problema está en que no me envía el valor de $total tras incrementarse, sino el inicial que es cero; a ver si me podéis aconsejar como solucionar eso para enviar el valor tras el incremento cuando el usuario introduce los valores correctos el código que he usado ha sido el aportado por Chronos682 en el anterior mensaje y a eso le he incluido los siguientes archivos php:


ARCHIVO INDEX SERÍA EL ÚLTIMO DE CHRONOS682

Y A CONTINUACIÓN AÑADO ESTOS:

CONECT_DB

Código PHP:

<?php
$link 
mysql_connect("localhost","root",""); 
if (
$link)   { 
     
mysql_select_db("tarea_php"$link); 
}

?>







ARCHIVO PARA INSERTAR DATOS.
Código PHP:
<?php

$total 
$_POST['total']; 
$vardos $_POST['vardos']; 
$vartres $_POST['vartres']; 


$reqlen strlen ($vardos) * strlen ($vartres); 

if (
$reqlen 0)

{ require (
"connect_db2.php");
mysql_query("INSERT INTO ejercicioprueba VALUES ('','$total','$vardos','$vartres')"); 



 echo 
"Has enviado tus resultados"; }

else {echo 
"Te han faltado datos por completar completa de nuevo";}; 

?>

LA CONEXIÓN A LA BASE DE DATOS VA BIEN, EL CASO ES RETARDAR EL $TOTAL PARA QUE EL VALOR QUE INTRODUZCA SEA EL INCREMENTADO.

GRACIAS A TODOS!
  #12 (permalink)  
Antiguo 09/08/2015, 10:32
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Guardar el valor que va acumulando variable.

Coloca el código completo como lo tienes hasta ahora con el formulario y lo que te puse en el anterior mensaje.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #13 (permalink)  
Antiguo 09/08/2015, 10:39
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardar el valor que va acumulando variable.

Lo he probado así en mi servidor local -localhost- y no va; me manda a phpmyadmin $total = 0 cuando inserto los valores correctos; o te refieres a que pegue aquí tb el código que tu me insertaste antes?
  #14 (permalink)  
Antiguo 09/08/2015, 10:43
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Guardar el valor que va acumulando variable.

Todo el código que tengas hasta ahora, colócalo aquí.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #15 (permalink)  
Antiguo 09/08/2015, 11:06
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardar el valor que va acumulando variable.

Ahí va el código completo:


Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head> 
Código PHP:
    <?php 
        
//Se inicializa la variable
        
$vartotal 0
        
//Se comprueba si se oprimió el botón comparar
        
if (isset($_POST["comparar"]))
        {
            
//Si se oprimió el botón obtiene todos los valores de los input del formulario
            //y los carga en su correspondiente variable
            
$vartotal $_POST["resultado"];
            
$vardos $_POST["vardos"];
            
$vartres $_POST["vartres"];
            
//Hace la comparación de la información que llegó desde el formulario
            //Si la variable dos es 5 y la 3 es 3 va sumando 1 a la variable total
            
if ($vardos == 5)
            {
                   
$vartotal++; //con esto vas aumentando en 1 la variable total
            
}
            if (
$vartres == 3)
            {
                   
$vartotal++;
            }
        }
        
//Al final muestra el valor de la variable total en el input del formulario
    
?>
Código HTML:
 </head>
    <body>
    <form name="calc" action="pruebaprocesarformulario2.php" method="post">
    Var dos: <input type="Text" name="vardos" value="0" size="12">
    <br>
    Var tres: <input type="Text" name="vartres" value="0" size="12">
    <br>
    Resultado (var total): <input type="Text" name="resultado" value="<?php echo $vartotal;?>" size="12">
    <br><br>
    <input type="submit" name="comparar" value=" compara ">
    </form>
    </body> 
    </html> 

Código PHP:
<?php
$link 
mysql_connect("localhost","root",""); 
if (
$link)   { 
     
mysql_select_db("tarea_php"$link); 
}

?>
Código PHP:
 <?php

$total 
$_POST['total']; 
$vardos $_POST['vardos']; 
$vartres $_POST['vartres']; 


$reqlen strlen ($vardos) * strlen ($vartres); 

if (
$reqlen 0)

{ require (
"connect_db2.php");
mysql_query("INSERT INTO ejercicioprueba VALUES ('','$total','$vardos','$vartres')"); 



 echo 
"Has enviado tus resultados"; }

else {echo 
"Te han faltado datos por completar completa de nuevo";}; 

?>
LA CONEXIÓN A LA BASE DE DATOS VA BIEN, EL CASO ES RETARDAR EL $TOTAL PARA QUE EL VALOR QUE INTRODUZCA EN LA BASE DE DATOS SEA EL INCREMENTADO.

GRACIAS A TODOS!
  #16 (permalink)  
Antiguo 09/08/2015, 11:19
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Guardar el valor que va acumulando variable.

Deberías dejarlo así:

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <?php
  4.     //Conexión a BD
  5.     $link = mysql_connect("localhost","root","");  
  6.     if ($link)  
  7.     {  
  8.         mysql_select_db("tarea_php", $link);  
  9.     }
  10.     //Se inicializa la variable
  11.     $vartotal = 0;
  12.     //Se comprueba si se oprimió el botón comparar
  13.     if (isset($_POST["comparar"]))
  14.     {
  15.         //Se comprueba si se llenaron los input en el formulario
  16.         if (empty($_POST["vardos"]) || empty($_POST["vartres"]))
  17.         {
  18.             echo "Debe diligenciar todos los campos";
  19.         }
  20.         else
  21.         {
  22.             //Si se oprimió el botón obtiene todos los valores de los input del formulario
  23.             //y los carga en su correspondiente variable
  24.             $vartotal = $_POST["resultado"];
  25.             $vardos = $_POST["vardos"];
  26.             $vartres = $_POST["vartres"];
  27.             //Hace la comparación de la información que llegó desde el formulario
  28.             //Si la variable dos es 5 y la 3 es 3 va sumando 1 a la variable total
  29.             if ($vardos == 5)
  30.             {
  31.                    $vartotal++; //con esto vas aumentando en 1 la variable total
  32.             }
  33.             if ($vartres == 3)
  34.             {
  35.                    $vartotal++;
  36.             }
  37.             $result = mysql_query("INSERT INTO ejercicioprueba VALUES ('','$vartotal','$vardos','$vartres')");
  38.             if ($result)
  39.             {
  40.                 echo "Has enviado tus resultados";
  41.             }
  42.             else
  43.             {
  44.                 echo "Se produjo un error al guardar la informacion";
  45.             }
  46.         }
  47.     }
  48.     //Al final muestra el valor de la variable total en el input del formulario
  49. ?>
  50. </head>
  51. <body>
  52. <form name="calc" action="" method="post">
  53. Var dos: <input type="Text" name="vardos" value="0" size="12">
  54. <br>
  55. Var tres: <input type="Text" name="vartres" value="0" size="12">
  56. <br>
  57. Resultado (var total): <input type="Text" name="resultado" value="<?php echo $vartotal;?>" size="12">
  58. <br><br>
  59. <input type="submit" name="comparar" value=" compara ">
  60. </form>
  61. </body>
  62. </html>

Es más fácil de entender y de paso te recomiendo que cambies de mysql a mysqli porque la primera va a quedar obsoleta y no te van a funcionar luego tus scripts.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #17 (permalink)  
Antiguo 09/08/2015, 11:42
 
Fecha de Ingreso: septiembre-2013
Mensajes: 76
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardar el valor que va acumulando variable.

Gracias por tu corrección, Chronos682; ahora ya funciona; por cierto me recomiendas algún buen tutorial de mysqli? en la web encontré este por ejemplo,


http://http://php.net/manual/es/book.mysqli.php

pero si me propones algo mejor pues, genial.

Muchas gracias por tu ayuda!
  #18 (permalink)  
Antiguo 09/08/2015, 12:02
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Guardar el valor que va acumulando variable.

Ese es el manual oficial de php está muy bien explicado y con muchos ejemplos. Usa ese.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Etiquetas: valor, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:16.