Autor Tema: duda al actualizar fecha date  (Leído 1032 veces)

Desconectado PrivateFTA

  • PHPerit@
  • *
  • Mensajes: 4
  • Karma: 0
  • Sexo: Masculino
  • Webmaster
    • Ver Perfil
    • http://www.mundo-iks.com
duda al actualizar fecha date
« en: 05 de Junio de 2011, 01:59:07 am »
saludos es que llevo tanto tiempo con este problema

mira es que tengo este código

para actualizar las tablas

    if (isset($_POST["renovuser"]) and $_POST["renovuser"] == "Renovar") {
        $username = "";
        $userid = "";
        $username = "";
        $creditos= "";
       
        $userid = $_POST["uid"];
        $username = $_POST["username"];
        $creditos = strtolower($_POST["creditos"]);
     
        $conn = @mysql_connect($dbhost,$dbuser,$dbpass) or die ("Error connecting to database");
        mysql_select_db($dbname, $conn);
     
    // Esla linia es la que estoy tratando que que al selecionar del 1 al 6 actualizae la fecha sumandole meses.
     
        $sql = mysql_query("UPDATE clientes SET expiredate='".date("Y-m-d", mktime(0, 0, 0, date("m")+".$creditos.", date("d"), date("Y")))."', changed='".date('Y-m-d H:i')."', changedby='".$_SESSION["loginuser"]."' WHERE id='".$userid."'") or die ("Error editing user");
        $sql2 = mysql_query("UPDATE admins SET creditos= creditos - '".$creditos."' WHERE username='".$_SESSION["loginuser"]."'") or die ("Error editing admin user");
        mysql_close($conn);
        $status = "Usuario ".$username." Renovado!";
    }

y este es el formulario


    <?php
    require("includes/logincheck.php");
    require("config.php");
    require("includes/settings.php");
     
    if (isset($_GET["id"]) <> "") {
        $userid = $_GET["id"];
    } else {
        header( "Location: controlpanel.php" );
    }
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>.:: Administrador de Usuarios ::.</title>
    <link rel="shortcut icon" href="images/favicon.ico">
    </head>
     
    <body onLoad="focus();edituser.username.focus()" background="images/bg.png">
    <table width="850" border="3" align="center" bgcolor="#FFFFFF">
    <tr>
    <td align="center">
    <?php require("includes/header.php"); ?>
    </td>
    </tr>
    <tr>
    <td>
      <div align="center"><br />
          <font size="6"><b>Administrador de Usuarios </b></font>
          <br />
        <br />
      </div>    <br />
      <div align="right">
      <table width="240" border="3">
      <tr>
        <th scope="col"><font size=-1>&nbsp;<b>Usuario Iniciado:</b> <?php echo $_SESSION["loginuser"] ; ?></font></th>
        <th scope="col"><font size=-1><a href='logout.php'>Logout</a></font></th>
      </tr>
    </table>
      </div>    <br />
      <table width="800" border="2" align="center">
      <tr>
        <td><div align="center"><b>Renovar Usuario (<a href="controlpanel.php">Regresar al Panel Principal</a>)</b></div></td>
      </tr>
      <td>
        <form name="renovar" action="controlpanel.php" method="post">
        <?php
        $conn = @mysql_connect($dbhost,$dbuser,$dbpass) or die ("Error connecting to database");
        mysql_select_db($dbname, $conn);
        $sql = mysql_query("SELECT * FROM clientes WHERE id='".$userid."'");
        $line=mysql_fetch_array($sql);
        $sql2 = mysql_query("SELECT * FROM admins WHERE username='".$_SESSION["loginuser"]."'");
        $cred=mysql_fetch_array($sql2);
        mysql_close($conn);
        ?>
        <input type="hidden" name="uid" value="<?php print($line["id"]); ?>">
        <input type="hidden" name="username" value="<?php print($line["name"]); ?>"><br>
        Nombre:<br>
        <strong><?php print($line["name"]); ?></strong>
        <br><br>
        Creditos Disponibles:<br>
        <b><font color="#FF0000">( <u><?php print($cred["creditos"]); ?></u> )</font> </b>
            <br><br>
         Renovar Cuenta:<br>
        <input type="text" name="addfin" size="10" tabindex="1" value="<?php print($line["expiredate"]); ?>" readonly>
         <br><br>
             Renovar:<br>
            <select name="creditos">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
        </select>
          &nbsp;Meses<br>
            <input type="submit" name="renovuser" value="Renovar" tabindex="2" class="submit" accesskey="r" title="(ALT+r)">
          </form>
      </td>
    </tr>
    </table>
    <hr>
    <div align="center">
    <?php
    require("includes/footer.php");
    ?></div>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </body>
    </html>

hay les dejo a ver que es lo que estoy haciendo mal ya que no suma el mes lo que hace es actualizar la fecha a la que esta actual.

Comunidad PHPeros

duda al actualizar fecha date
« en: 05 de Junio de 2011, 01:59:07 am »

Desconectado FeDe

  • PHPero Avanzado
  • ****
  • Mensajes: 448
  • Karma: 35
  • Sexo: Masculino
  • BaDyDj -> ¡Mi Stylo, Mi ViDa!
    • Ver Perfil
Re:duda al actualizar fecha date
« Respuesta #1 en: 05 de Junio de 2011, 03:06:48 am »
Buenas,

  $sql mysql_query("UPDATE clientes SET expiredate=&#39;".date("Y-m-d"mktime(000date("m")+".$creditos."date("d"), date("Y")))."&#39;, changed=&#39;".date(&#39;Y-m-d H:i&#39;)."&#39;, changedby=&#39;".$_SESSION["loginuser"]."&#39; WHERE id=&#39;".$userid."&#39;") or die ("Error editing user");

Este código está mal....
el código sería:
$sql mysql_query("UPDATE clientes SET expiredate=&#39;".date("Y-m-d")."&#39; changed=&#39;".date("Y-m-d H:i")."&#39;, changedby=&#39;".$_SESSION["loginuser"]."&#39; WHERE id=&#39;".$userid."&#39;");
if(
$sql==true) { echo "Perfecto."; } else { echo "Error SQL:<br>".mysql_error(); }
Sin Firma me haces una? :P

Desconectado PrivateFTA

  • PHPerit@
  • *
  • Mensajes: 4
  • Karma: 0
  • Sexo: Masculino
  • Webmaster
    • Ver Perfil
    • http://www.mundo-iks.com
Re:duda al actualizar fecha date
« Respuesta #2 en: 05 de Junio de 2011, 03:27:09 am »
lo que estoy tratando de hacer es que al selecciona 1 o2 o3 o 4 así para que agregue si selecciono 3 agregue 3 meses mas a la fecha

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:duda al actualizar fecha date
« Respuesta #3 en: 05 de Junio de 2011, 05:00:06 am »
lo que estoy tratando de hacer es que al selecciona 1 o2 o3 o 4 así para que agregue si selecciono 3 agregue 3 meses mas a la fecha

Si quieres usar date() tendrás que conocer explode y remplace. Aunque yo mejor lo hubiera hecho usando time() y después pasando ese valor. En fin, cada mente es un mundo.

Saludos.
Twitter: @JoakoM010



Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:duda al actualizar fecha date
« Respuesta #4 en: 05 de Junio de 2011, 06:43:25 am »
Me estoy liando, pero creo que sería trabajar algo como esto:

$fecha = '2011-05-04 23:40:50';
$fecha_timestamp = strtotime($fecha);
$nueva_fecha = $fecha_timestamp + (Operación matemática que obtenga la cantidad de tiempo en segundos que quieran aumentar);

Desconectado PrivateFTA

  • PHPerit@
  • *
  • Mensajes: 4
  • Karma: 0
  • Sexo: Masculino
  • Webmaster
    • Ver Perfil
    • http://www.mundo-iks.com
Re:duda al actualizar fecha date
« Respuesta #5 en: 08 de Junio de 2011, 01:25:57 am »
ok muchas gracias ya lo solucione