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. Aggiungere valori a campo enum
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • R
      roxasshadow User Attivo • ultima modifica di

      Aggiungere valori a campo enum

      Buonpomeriggio,

      devo creare un form dove sia possibile gestire un campo di tipo ENUM su database MySQL tramite PHP.
      Il mio scopo è aggiungere/eliminare/modificare un valore, ma purtroppo non sono però riuscito a trovare nessuna query che mi possa essere di aiuto su Google, quindi chiedo aiuto a voi per l'ennesima volta 🙂

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • samyorn
        samyorn Consiglio Direttivo • ultima modifica di

        Ciao RoxasShadow,
        prova con la seguente query:

        [php]ALTER TABLE nometabella CHANGE nomecampo nomecampo ENUM( 'valore1', 'valore2', 'valore3' )[/php]

        Facci sapere. 🙂

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • R
          roxasshadow User Attivo • ultima modifica di

          Ciao Samyorn, grazie per la risposta.
          Usando questa query devo specificare anche i valori ENUM che si trovano già ?
          Io ho bisogno solo di aggiungerne di nuovi perciò lo chiedo.

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • samyorn
            samyorn Consiglio Direttivo • ultima modifica di

            Con questa query ridefinisci i valori Enum, pertanto se devi aggiungerli dovrai ripete gli esistenti valori ed aggiungere i nuovi valori. Ovviamente la stessa vale in caso di modifica e/o cancellazione dei valori. 🙂
            [URL=http://www.giorgiotave.it/forum/gt-world/101972-forum-gt-disponibile-alle-versioni-per-telefoni-cellulari.html]Postato via Mobile

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • R
              roxasshadow User Attivo • ultima modifica di

              Per prelevare i dati dei valori ENUM già esistenti dovrei fare una SELECT con SHOW COLUMS, ma una volta prelevati dove dovrò inserirli ?
              La cosa più logica sarebbe un array però poi nella query non potrò inserirlo così com'è...

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • samyorn
                samyorn Consiglio Direttivo • ultima modifica di

                Ti basta ciclare il contenuto dell'array e, nella stessa istruzione, aggiungere/modificare/cancellare i valori del campo ENUM.
                Sinceramente se esiste un metodo diverso, io non lo conosco, mi spiace :bho:
                :ciauz:

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • R
                  roxasshadow User Attivo • ultima modifica di

                  Ciao Samyorn, ci siamo quasi, ma ancora non funziona.
                  La query che ottengo (ovvero quella che passo per mysql_query()) sarebbe questa:

                  [PHP]
                  ALTER TABLE 'news' CHANGE 'categoria' 'categoria' ENUM('Senza categoria','Test')
                  [/PHP]

                  Tabella: news
                  Campo: categoria
                  Valore ENUM attuale: Senza categoria
                  Valore ENUM aggiunto: Test

                  Edit: Nel caso possa servire a qualcuno ecco pure il codice 😄

                  [PHP]
                  // Creo la query per modificare la categoria
                  $query = "ALTER TABLE 'news' CHANGE 'categoria' 'categoria' ENUM(";

                  // Completo la query includendo l'array
                  $d = 0;
                  $c = count($array);
                  while($d < $c) {
                  $query .= '''.$array[$d].'',';
                  $d++;
                  }

                  // Elimino l'ultimo carattere (,)
                  $query = substr($query, 0, -1);
                  $query .= ')';
                  [/PHP]

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • samyorn
                    samyorn Consiglio Direttivo • ultima modifica di

                    Hai fatto un echo di $query per verificare che non manchi nulla?

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • R
                      roxasshadow User Attivo • ultima modifica di

                      Si, infatti il risultato è quello da me postato.
                      Edit: Funziona 😄
                      E bastato eliminare gli apici, ottenendo così

                      [PHP]ALTER TABLE news CHANGE categoria categoria ENUM('Senza categoria','Test')[/PHP]

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • samyorn
                        samyorn Consiglio Direttivo • ultima modifica di

                        Perfetto. 😉

                        Buon lavoro allora 😄

                        ...e soprattutto, Buone Feste. 😉

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • R
                          roxasshadow User Attivo • ultima modifica di

                          Grazie mille, anche a te e tutti i tuoi cari 😄

                          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