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

    Ciclo particolare e Date

    Salve,


    mi ritrovo a dover risolvere un problema un po rognoso:

    all'interno del mio database in MySQl ho una tabella che contiene 2 campi

    Data, di tipo testo "31/03/2008"
    NewData, di tipo TIMESTAMP "2008/03/31 00:00:00"

    sostanzialmente all'inizo usavo in maniera inopportuna il campo Data, adesso sto rimediando utilizzando il campo NewData.

    Dov'è il problema?

    Siccome o caricato un migliaio di record non vorrei andare a modificarli uno per uno.

    Vorrei creare un ciclo che record per record mi modifichi il valore del campo NewData prendendo tale valore da una conversione del valore del campo DAta.

    Ho provato così:

    Codice PHP:
    <?php 
    include ('conf.php');//qui sono presenti i dati di connessione

    $sqlselect=('SELECT data, idatto from atti');
    $lettura_risultati=mysql_query("$sqlselect");
      while(
    $scatola_temporanea=mysql_fetch_array($lettura_risultati)){
      
    $data=eur_to_time($scatola_temporanea['newdata']);//punta dritto ad una funzione per convertire

    $idatto=$scatola_temporanea['idatto'];

    $aggiorna=mysql_query("UPDATE atti SET newdata = \"$data\" where idatto = $idatto");

    }
    ?>
    Mi dareste una mano a sistemare questo ciclo?

    Grazie di cuore

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    non conoscendo la funzione eur_to_time , che problemi ti da? non fa la conversione? è un problema della funzione eur_to_time?

  3. #3
    La funzione è corretta, infatti la uso anche in altri files.

    Codice PHP:
    <?php
    function eur_to_time($dataEur){
    $rsl explode ('/',$dataEur);
    $rsl array_reverse($rsl);
    return 
    implode($rsl,'.');
    }
    ?>
    E' il ciclo che non va, e non mi ritorna nemmeno errore.

  4. #4
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    aggiungi questo :

    $aggiorna=mysql_query("UPDATE atti SET newdata = \"$data\" where idatto = $idatto") or die( mysql_error() ) ;

  5. #5
    Mi restituisce il seguente errore

    "Incorrect datetime value: '' for column 'newdata' at row 1"

    ho provato anche con

    Codice PHP:
    $aggiorna=mysql_query("UPDATE atti SET newdata = \"$data 00:00:00\" where idatto = $idatto") or die( mysql_error() ) ; 
    in quest'ultimo caso non mi da errore ma la query non funziona lo stesso.

    Strano.

  6. #6
    ho risolto così:
    Codice PHP:
    <?php 
    include ('conf.php');

    $sqlselect=('SELECT data, idatto from atti');
    $lettura_risultati=mysql_query("$sqlselect");
      while(
    $scatola_temporanea=mysql_fetch_array($lettura_risultati)){
      
    $data=eur_to_time($scatola_temporanea['data']);

    $idatto=$scatola_temporanea['idatto'];

    $aggiorna=mysql_query("UPDATE atti SET newdata = \"$data 00:00:00\" where idatto = $idatto") or die( mysql_error() ) ;
    }
    ?>
    Grazie per il tempo che mi hai dedicato.

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.