Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    Cambiare il tipo di campo nel db, perdo i dati esistenti?

    Ho una tabella con circa 1000 record, ora pero' avrei bisogno che il campo $prezzo sia di tipo float e non varchar (erroneamente all'inizio lo feci varchar), se cambio il tipo di campo cosa succede?
    Perdo i dati all'interno del db?
    Come posso fare per non perderli?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327
    non dovrebbe cancellarsi nulla ma ti consiglio sempre di farti un bel backup prima.

  3. #3
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    Forse possono esserci problemi con la virgola, dovresti provare a creare una nuova colonna, copiare i dati esistenti e vedere cosa succede.
    think simple think ringo

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    come già consigliato ti consiglio un backup, comunque non dovresti perdere nulla...

    fammi sapere...
    NON ABBANDONATE CANI O GATTI!!!

  5. #5
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    ok ho fatto tutto e non ho perso i dati, l'unica cosa e' che ora i prezzi tipo
    40.00
    50.00
    60.00

    li vedo senza .00 quindi
    40
    50
    60

    come posso fare a dare al campo $prezzo anche i 2 zeri?

    invece i prezzi tipo 26.57 li vedo bene

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    da db non credo sia possibile, i due zeri li mette di default mysql in base al campo...

    puoi fare una piccola modifica da codice php, gli dici che se il numero è un intero, gli fai aggiungere il .00

    tutto qui...
    NON ABBANDONATE CANI O GATTI!!!

  7. #7
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da activ
    da db non credo sia possibile, i due zeri li mette di default mysql in base al campo...

    puoi fare una piccola modifica da codice php, gli dici che se il numero è un intero, gli fai aggiungere il .00

    tutto qui...
    ho risolto mettendo nel ciclo while

    $prezzo = number_format($prezzo, 2, ',', ' ');
    $prezzo = str_replace(",",".",$prezzo);

    in modo che mette a video i 2 zeri

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Tr|k`Tr4k
    ok ho fatto tutto e non ho perso i dati, l'unica cosa e' che ora i prezzi tipo
    40.00
    50.00
    60.00

    li vedo senza .00 quindi
    40
    50
    60

    come posso fare a dare al campo $prezzo anche i 2 zeri?

    invece i prezzi tipo 26.57 li vedo bene
    anzichè float usa un campo di tipo decimal è impostalo con 2 cifre decimali tipo
    decimal(x,2) con x numero complessivo di cifre.

  9. #9
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da nicola75ss
    anzichè float usa un campo di tipo decimal è impostalo con 2 cifre decimali tipo
    decimal(x,2) con x numero complessivo di cifre.
    ciao nicola,
    in questo modo cosa cambia?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    cambia che al posto di un varchar, hai un campo decimal e risolvi il problema (che sembra hai già risolto) del .00
    NON ABBANDONATE CANI O GATTI!!!

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.