Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    77

    incrementare data di 1 mese

    avevo pensato in questo modo ma a quanto pare non ne vuole sapere,anzi mi aumenta la data di 11 mesi

    codice:
    <?php 
    if ($row_Recordset1['mese']==1) {
    $updateSQL = sprintf("UPDATE prova SET prova.scadenza = curdate() + interval 1 month Where prova.id = '$id'");  
      }
    mysql_select_db(4database_turni,$turni);
    $Result1 = mysql_query($updateSQL, $turni) or die(mysql_error());
    ?>
    ho provato anche in questo modo ma e' uguale

    codice:
    <?php
    if ($mese=1) {
    $updateSQL = sprintf("UPDATE prova SET prova.scadenza = curdate() + interval 1 month Where prova.id = '$id'");  
      }
    mysql_select_db($database_turni,$turni);
    $Result1 = mysql_query($updateSQL, $turni) or die(mysql_error());
    ?>

  2. #2
    sicuro di avere impostato la data corretta sul tuo pc?

    Curiosita': perche' usi sprintf per valorizzare una variabile?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    la data sul computer e' giusta,facendo così mi prende solo l'ultimo if 2 mesi ,anche se ho selezionato 1 mese
    uso sprintf xche' l'ho letto su un forum(non questo)
    <?php
    if ($row_Recordset1['mese']==1) {
    $updateSQL = sprintf("UPDATE prova SET prova.scadenza = curdate() + interval 1 month Where prova.id = '$id'");
    }
    mysql_select_db(4database_turni,$turni);
    $Result1 = mysql_query($updateSQL, $turni) or die(mysql_error());
    ?>
    <?php
    if ($row_Recordset1['mese']==2) {
    $updateSQL = sprintf("UPDATE prova SET prova.scadenza = curdate() + interval 2 month Where prova.id = '$id'");
    }
    mysql_select_db(4database_turni,$turni);
    $Result1 = mysql_query($updateSQL, $turni) or die(mysql_error());
    ?>

  4. #4
    Originariamente inviato da cinghialotto35
    la data sul computer e' giusta,facendo così mi prende solo l'ultimo if 2 mesi ,anche se ho selezionato 1 mese
    uso sprintf xche' l'ho letto su un forum(non questo)
    codice:
    <?php 
    if ($row_Recordset1['mese']==1) {
    $updateSQL = sprintf("UPDATE prova SET prova.scadenza = curdate() + interval 1 month Where prova.id = '$id'");  
      }
    mysql_select_db(4database_turni,$turni);
    $Result1 = mysql_query($updateSQL, $turni) or die(mysql_error());
    ?>
    <?php 
    if ($row_Recordset1['mese']==2) {
    $updateSQL = sprintf("UPDATE prova SET prova.scadenza = curdate() + interval 2 month Where prova.id = '$id'");  
      }
    mysql_select_db(4database_turni,$turni);
    $Result1 = mysql_query($updateSQL, $turni) or die(mysql_error());
    ?>
    ma lo shift non ti funziona oppure e' proprio un errore quel 4database..... ???

    Da dove arriva $row_Recordset1 ?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    quel quel 4database è un mio errore di trascrizione,nel listato non c'e'
    il $row_Recordset1 e' la connessione al database

    codice:
    mysql_select_db($database_prova, $prova);
    $query_Recordset1 = "SELECT * FROM prova";
    $Recordset1 = mysql_query($query_Recordset1, $prova) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    adesso ho provato a fare un'altra cosa da una pagina di visualizzazione ho inserito

    codice:
    <?php if ($row_Recordset1[mese]==1){
    echo curdate() + interval 1 month;
    ?>
    ma mi da errore di sintassi

  6. #6
    curdate() + interval 1 month;

    e te credo... quella sintassi e' SQL mica php.


    stampa l'array che ricavi in $row_Recordset1 e vedi cosa contiene.

    print_r($row_Recordset1);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    contiene la data aumentata solo di 1 mese sia che nel recordset1 ci sia 1 che 2

    in php come si fa ad aumentare la data?

  8. #8
    Mi sa tanto di qualcosa di buffo. Posta l'output di print_r()

    se fai una semplice select anche senza tabella, magari con phpmyadmin tanto per farla spiccia e provi:

    SELECT curdate() + interval 1 month AS uno, curdate() + interval 2 month as due;

    cosa ricevi?

    in php aggiungi 1 mese con mktime, ma se e' difficile con la query....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    codice:
    <?php if ($row_Recordset1['mese']==1) {
     $scadenza= date("d/m/Y", mktime(0,0,0, date('m')+ 1, date('d') , date('Y')));
     }elseif($row_Recordset1[mese']==2) {$scadenza= date("d/m/Y", mktime(0,0,0, date('m')+ 2, date('d') , date('Y')));
    Ho risolto così

  10. #10
    ma allora se usi la data nel formato dd/mm/yyyy che vai cercando con curdate() ???

    quella non e' una data ma una stringa .... la data per mysql e' yyyy-mm-dd




    ma toglimi un'altra curiosita'.... tu sei del segno del leone o del cinghialotto ???? :master:

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.