Foros del Web » Programando para Internet » PHP »

Sumar 1 año a la fecha

Estas en el tema de Sumar 1 año a la fecha en el foro de PHP en Foros del Web. Hola como están? Necesito una ayuda, lo que pasa es que necesito tomar el valor de una fecha y sumarle 1 año, como vencimiento. Adjunto ...
  #1 (permalink)  
Antiguo 08/04/2015, 12:44
 
Fecha de Ingreso: febrero-2015
Mensajes: 16
Antigüedad: 9 años, 8 meses
Puntos: 0
Pregunta Sumar 1 año a la fecha

Hola como están?
Necesito una ayuda, lo que pasa es que necesito tomar el valor de una fecha y sumarle 1 año, como vencimiento. Adjunto los códigos:
Código PHP:
Ver original
  1. <?php
  2. include ("includes/conexion.php");
  3. ?>
  4.  
  5.  
  6.  
  7. <H1>Ingresar extintor Jvs</H1>
  8. <link rel="stylesheet" href="css.css">
  9. <body>
  10. <form>
  11. <p align="right"><a href="home.php"><font color="black"><strong>Volver a Home</strong></font></a></p>
  12. </form>
  13. <FORM id="form" name="formulario" action="equipo_ingresado.php" method="POST">
  14. <fieldset id="form">
  15. <label name="folio">Folio</label>
  16. <input method="post" type='text' name='folio' value='<?=rand(0000001, 99999999); ?>' maxlength='8' onKeyPress="return numbersonly(this, event)" readonly class="form-textarea"/>
  17. <p>
  18. <label>Tipo de extintor
  19. <select name="tipo" class="form-textarea">
  20.    <option value="Polvo quimico">Polvo quimico</option>
  21.    <option value="Polvo quimico BC">Polvo quimico BC</option>
  22.    <option value="CO2">CO2</option>
  23. </select>
  24. </p>
  25. <p>
  26. <label>Peso<input name="peso" type="text" id="peso" size="5" class="form-textarea"/>Kls.</label></p>
  27. <p><label>Certificacion
  28. <input type="radio" name="cert" value="Si" >Si
  29. <input type="radio" name="cert" value="No" >No<br>
  30. </label>
  31. </p>
  32. <p>
  33. <label>Numero certificacion
  34. <input type='text' name='num_cert' id="num_cert" maxlength='20' onKeyPress="return numbersonly(this, event)" class="form-textarea"/></label></p>
  35. </p>
  36. <p><label>Certificado por
  37. <select name="cert_por" class="form-textarea" class="form-textarea">
  38.    <option value="Cesmec">Cesmec </option>
  39.    <option value="Idiem">Idiem</option>
  40.    <option value="Otro">Otro</option>
  41. </select>
  42. </p>
  43. <p>
  44. PH <input type="date" name="ph" class="form-textarea" method="POST"/>
  45. </p>
  46. <p>
  47. Ultima mantencion <input type="date" name="ult_man" class="form-textarea"/>
  48. </p>
  49. <p><label>Fabricante
  50. <input name="fabri" type="text"  class="form-textarea"  class="form-textarea">
  51. </p>
  52. <p><label>Propietario
  53. <input name="propie" type="text"  class="form-textarea"  class="form-textarea">
  54. </p>
  55. <p><label>Comentarios</label><br>
  56. <textarea name="coment" type="text"  rows="10"placeholder="Escribe aqui tus comentarios"  class="form-textarea"/>
  57. </textarea>
  58. </p>
  59. <p >
  60. <input type="submit" name="Submit" value="Ingresar" class="boton-macro"/></p>
  61. </FORM>
  62. </body>
Este código es el formulario
Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <link rel="stylesheet" href="css.css">
  4. <link rel="stylesheet" href="demo1.css">
  5. <h2>Ingresado satisfactoriamente!</h2>
  6. </head>
  7. <body>
  8. <form>
  9. <p align="right"><a href="home.php"><font color="black"><strong>Volver a Home</strong></font></a></p>
  10. </form>
  11. <FORM name="buscar" action="equipo_ingresado.php" method="POST">
  12. <?php
  13. $folio = isset($_POST['folio']) ? $_POST['folio'] : null ;
  14. $tipo = isset($_POST['tipo']) ? $_POST['tipo'] : null ;
  15. $peso = isset($_POST['peso']) ? $_POST['peso'] : null ;
  16. $cert = isset($_POST['cert']) ? $_POST['cert'] : null ;
  17. $num_cert = isset($_POST['num_cert']) ? $_POST['num_cert'] : null ;
  18. $cert_por = isset($_POST['cert_por']) ? $_POST['cert_por'] : null ;
  19. $ph = isset($_POST['ph']) ? $_POST['ph'] : null ;
  20. $ph_venc = isset($_POST['ph']) ? $_POST['ph'] : null ;
  21. $ult_man = isset($_POST['ult_man']) ? $_POST['ult_man'] : null ;
  22. $prox_man = isset($_POST['ult_man']) ? $_POST['ult_man'] : null ;
  23. $fabri = isset($_POST['fabri']) ? $_POST['fabri'] : null ;
  24. $propie = isset($_POST['propie']) ? $_POST['propie'] : null ;
  25. $coment = isset($_POST['coment']) ? $_POST['coment'] : null ;
  26.  
  27. echo "Folio:<strong> $folio.</strong><br>";
  28. echo "Tipo de extintor:<strong> $tipo.</strong><br>";
  29. echo "Peso:<strong> $peso. Kls.</strong><br>";
  30. echo "Certificacion:<strong> $cert.</strong><br>";
  31. echo "Numero de certififcacion:<strong> $num_cert.</strong><br>";
  32. echo "Certificado por:<strong> $cert_por.</strong><br>";
  33. echo "PH:<strong> $ph.</strong><br>";
  34. echo "Vencimiento PH:<strong>$ph_venc</strong><br>";
  35. echo "Ultima mantencion:<strong> $ult_man.</strong><br>";
  36. echo "Proxima mantencion:<strong> $prox_man.</strong><br>";
  37. echo "Fabricante:<strong> $fabri.</strong><br>";
  38. echo "Propietario:<strong> $propie.</strong><br>";
  39. echo "Comentarios:<strong> $coment.</strong><br>";
  40.  
  41. ?>
  42.  
  43. <?php
  44. //Conectarse y seleccionar base de datos
  45. $link = mysql_connect('localhost', 'root','marcelo1988');
  46. if (!$link) {
  47. die('Could not connect: ' . mysql_error());
  48. }
  49.  
  50.  
  51.  
  52.  
  53.  
  54. $db_selected = mysql_select_db('jvs', $link);
  55. if (!$db_selected) {
  56. die ('Cant use jvs : ' . mysql_error());
  57. }
  58. // Tomar los campos provenientes del Formulario
  59. $folio = isset($_POST['folio']) ? $_POST['folio'] : null ;
  60. $tipo = isset($_POST['tipo']) ? $_POST['tipo'] : null ;
  61. $peso = isset($_POST['peso']) ? $_POST['peso'] : null ;
  62. $cert = isset($_POST['cert']) ? $_POST['cert'] : null ;
  63. $num_cert = isset($_POST['num_cert']) ? $_POST['num_cert'] : null ;
  64. $cert_por = isset($_POST['cert_por']) ? $_POST['cert_por'] : null ;
  65. $ph = isset($_POST['ph']) ? $_POST['ph'] : null ;
  66. $ph_venc = isset($_POST['ph_venc']) ? $_POST['ph_venc'] : null ;
  67. $ult_man = isset($_POST['ult_man']) ? $_POST['ult_man'] : null ;
  68. $prox_man = isset($_POST['prox_man']) ? $_POST['prox_man'] : null ;
  69. $fabri = isset($_POST['fabri']) ? $_POST['fabri'] : null ;
  70. $propie = isset($_POST['propie']) ? $_POST['propie'] : null ;
  71. $coment = isset($_POST['coment']) ? $_POST['coment'] : null ;
  72.  
  73. // Insertar campos en la Base de Datos
  74. $que = "INSERT INTO ingresa (folio, tipo, peso, cert, num_cert, cert_por, ph, ph_venc, ult_man, prox_man, fabri, propie, coment) ";
  75. $que.= "VALUES ('".$folio."', '".$tipo."', '".$peso."','".$cert."','".$num_cert."','".$cert_por."','".$ph."','".$ph_venc."','".$ult_man."','".$prox_man."','".$fabri."','".$propie."','".$coment."') ";
  76. $res = mysql_query($que, $link) or die(mysql_error());
  77.  
  78. // Cerrar conexión a la Base de Datos
  79. mysql_close($link);
  80. ?>
  81. </form>
  82. <br>
  83.  
  84. <a href="ingresar_equipo.php"><button>Ingresar nuevo</button></a>
  85.    
  86.     </body>
  87. </html>
Este código es donde tomo los datos del formulario.
La variable $ph es de la fecha que se guarda del formulario, y en la variable $ph_venc debo agregar esta fecha pero 1 año mas adelante, es cuando vence el ph.

Muchas gracias, saludos.
  #2 (permalink)  
Antiguo 08/04/2015, 13:10
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Sumar 1 año a la fecha

Utiliza las funciones de mysql para agregar un año http://dev.mysql.com/doc/refman/5.5/...ction_date-add o utiliza las funciones de fecha y hora que tiene php http://php.net/manual/en/refs.calendar.php
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 08/04/2015, 13:12
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 8 meses
Puntos: 67
Respuesta: Sumar 1 año a la fecha

Código PHP:
Ver original
  1. $ph_venc = isset($_POST['ph']) ? date_add($_POST['ph'], date_interval_create_from_date_string("1 year")) : null ;

Así debería poder sumarte 1 año.

Para más info sobre date_add() http://php.net/manual/es/function.date-add.php

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #4 (permalink)  
Antiguo 08/04/2015, 13:24
 
Fecha de Ingreso: febrero-2015
Mensajes: 16
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Sumar 1 año a la fecha

Me lanza el siguiente error:

Warning: date_add() expects parameter 1 to be DateTime, string given in D:\xampp\htdocs\proyectos\jvs\equipo_ingresado.php on line 20
  #5 (permalink)  
Antiguo 08/04/2015, 13:39
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 8 meses
Puntos: 67
Respuesta: Sumar 1 año a la fecha

La fecha tiene que tener un formato tipo 2015-02-02, si no utiliza la función date_format() y dale el formato que deseas.

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #6 (permalink)  
Antiguo 08/04/2015, 13:59
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 4 meses
Puntos: 379
Respuesta: Sumar 1 año a la fecha

Cita:
Warning: date_add() expects parameter 1 to be DateTime, string given in D:\xampp\htdocs\proyectos\jvs\equipo_ingresado.php on line 20
El problema es por que date_add espera un objeto DateTime y tu le estas pasando una cadena mediante $_POST['ph']
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: año, fecha, formulario, html, mysql, select, sql, 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 09:39.