Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. numeri e mysql
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • K
      kaisersose Super User • ultima modifica di

      numeri e mysql

      ciao a tutti ,

      devo gestire alcuni numeri in mysql , precisamente dei prezzi tipo :

      1.550

      ora io li ho iseriti come campo varchar, pero il problema che ci e associato un motore di ricerca che seleziona i risultati in base al prezzo e cosi facendo invece non mi fa la distinzione,

      che tipo di campo devo usare per farlo leggere da sql conme numero?

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • P
        piccolo.socrate User Attivo • ultima modifica di

        ciao,
        perchè non usi i campi SMALLINT, MEDIUMINT e INT invece che i varchar?

        leggi qui http://database.html.it/guide/lezione/2444/tipi-di-dati/

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • S
          stermi User Attivo • ultima modifica di

          INT prende numeri con piu di 11 cifre se non erro 😃
          non penso che tu abbia un prezzo cosi grande 😛

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • T
            tiago User Attivo • ultima modifica di

            INT è a 4 byte, cioè 32 bit, cioè da -2,4 miliardi a +2,4 miliardi.. non dovresti avere problemi.. se i numeri sono solo positivi puoi mettere UNSIGNED INT, che và da 0 a più di 4 miliardi..
            ciao 🙂

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • F
              faster2b User • ultima modifica di

              @kaisersose said:

              ciao a tutti ,

              devo gestire alcuni numeri in mysql , precisamente dei prezzi tipo :

              1.550

              ora io li ho iseriti come campo varchar, pero il problema che ci e associato un motore di ricerca che seleziona i risultati in base al prezzo e cosi facendo invece non mi fa la distinzione,

              che tipo di campo devo usare per farlo leggere da sql conme numero?

              per archiviare prezzi in euro usa il campo decimal (9,2) , il 2 indica i decimali che vuoi usare dopo la virgola

              Ciao

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • K
                kaisersose Super User • ultima modifica di

                infatti lo impostato int pero se nel prezzo scrivi 1.000 poi riporta 1

                se scrivi 1000 lo riporta giusto,

                il problema che il cliente li scrive 1.000 e non mi va di dire al cliente di scrivere 1000 invece che 1.000 cioe mi sembra sbagliato e lui che paga e e uno abbastanza pignolo su ste cose.

                ho provato a impostarlo double ma e la stessa cosa.

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • F
                  faster2b User • ultima modifica di

                  @kaisersose said:

                  infatti lo impostato int pero se nel prezzo scrivi 1.000 poi riporta 1

                  se scrivi 1000 lo riporta giusto,

                  il problema che il cliente li scrive 1.000 e non mi va di dire al cliente di scrivere 1000 invece che 1.000 cioe mi sembra sbagliato e lui che paga e e uno abbastanza pignolo su ste cose.

                  ho provato a impostarlo double ma e la stessa cosa.

                  Quello che scrive il cliente deve essere parserizzato, altrimenti l'unico modo è quello di usare il vachar ma non è corretto(non puoi fare select particolari, somme etc direttamente da db sul campo prezzo).

                  prima di inserire su db fai un bel
                  [php]$prezzo = str_ireplace(".", "", $form_prezzo);[/php]
                  così elimini il punto dalla stringa, e anche se il cliente non mette il punto va bene lo stesso, e inserisci sul db la variabile $prezzo quando invece prendi i valori dal db e stampi a video utilizza
                  la funzione [php]number_format($number, 2, ',', '.');[/php]

                  e poi salva tutto utilizzando nel db il campo decimal(9,2)

                  Ciao

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • K
                    kaisersose Super User • ultima modifica di

                    Grazie !!!!!!!!!!!!

                    :=)

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    Caricamento altri post
                    Rispondi
                    • Topic risposta
                    Effettua l'accesso per rispondere
                    • Da Vecchi a Nuovi
                    • Da Nuovi a Vecchi
                    • Più Voti