Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    CURRENT_TIMESTAMP che resta 0000-00-00 00:00:00

    ho un campo TIMESTAMP con attributo ON UPDATE CURRENT_TIMESTAMP e CURRENT_TIMESTAMP come valore predefinito e Null settato su Not Null (ma ho provato anche con Null)

    se passo un valore tipo 2010-03-16 il campo si aggiorna con la data che inserisco...
    ma come devo fare per farlo aggiornare con il CURRENT_TIMESTAMP?

    se lascio vuoto il valore diventa sempre 0000-00-00 00:00:00.
    ho provato anche ad eliminare dalla stringa di connessione al database mysql_query la parte del timestamp (cioè tipo data_pubblicazione='$data_pubblicazione')

    sto facendo quasi sicuramente una faggianata... ma mi dareste una mano comunque?
    grazie

  2. #2
    Posta la query che usi per fare l'UPDATE

  3. #3
    grazie per la risposta...

    Codice PHP:
    $result mysql_query("UPDATE events_tab SET events_id='$events_id', dtime='$data', publish_date='', published='$published', title='$title', text1='$text1', text2='$text2' WHERE events_id='$events_id'"$connect); 

    per il resto funziona, non va solo quel campo. Se provo a mettere una data yyyy-mm-dd nel campo di testo da cui deve pescare il valore funziona...

    E' una pagina di editing (da parte di un amministratore che aggiorna un sito) di valori già presenti nel db per cui ha alcuni campi nascosti (come l'id).

    posso fare anche in un altro modo ma volevo capire dove sto sbagliando

  4. #4
    Se il campo in questione e' publish_date, allora devi levarlo dalla query. Cosi' facendo lo stai aggiornando a mano dandogli il valore "stringa vuota" che poi mysql converte in 0000-00-00 00:00:00 perche' il valore passato non e' valido.

  5. #5
    intanto se hai un campo timestamp dovrai passargli un valore timestamp, anche se poi viene visualizzato come data leggibile quindi se lo devi fare da php utilizzerai le funzioni date o time a seconda di quello che ti serve..

    Se invece, come penso, ti interessa solo registrare la data di modifica del record non devi nemmeno trattare quel campo sulla query visto che l'hai gestito a livello mysql
    Ubuntu rulez!! :P

  6. #6
    grazie mille per le risposte...
    come dicevo nel primo post ho anche provato ad eliminare la voce publish_date dalla query ma sempre 0 rimane...

    Quel campo si riferisce alla data di pubblicazione di una news nel caso l'amministratore voglia che venga pubblicata solo a partire da un certo giorno e non subito (quindi metterei un controllo per le notizie da pubblicare tipo WHERE publish_date < NOW() o insomma, qualcosa del genere)

    (mentre publisher è un tinyint(1) che rende pubblica o meno una notizia)

    Aggiornando a mano il campo prende i valori che immetto...

  7. #7
    Ah, un momento....
    ma quindi se lascio vuoto il campo del form avrò sempre una stringa vuota che verrà tradotta in 0, giusto?

    La query a dire il vero è publish_date='$publish_date'. Essendo una pagina di Edit avevo pensato di fargli prendere il valore del database che se va bene viene lasciato così, altrimenti si può modificare con un datepicker (il calendarietto javascript).

    In realtà l'opzione di modifica data di pubblicazione dovrebbe essere in un div nascosto ("impostazioni avanzate"), sia nella pagina dell'edit sia in quella della creazione.

    In effetti mi sto rendendo conto che la via da seguire deve essere un'altra (in origine quella che è diventata publish_date era una data in cui si prendeva nota dell'orario di modifica -mi era stato chiesto perché così si regolavano tra loro gli amministratori)


    EDIT
    con ubuntu mi funziona... mah!!
    beh, grazie di cuore per l'aiuto ragazzi
    ciao!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.