- Home
- Categorie
- Coding e Sistemistica
- PHP
- Aggiungere valori a campo enum
-
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
-
Ciao RoxasShadow,
prova con la seguente query:[php]ALTER TABLE
nometabella
CHANGEnomecampo
nomecampo
ENUM( 'valore1', 'valore2', 'valore3' )[/php]Facci sapere.
-
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.
-
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
-
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'è...
-
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:
-
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: TestEdit: 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]
-
Hai fatto un echo di $query per verificare che non manchi nulla?
-
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]
-
Perfetto.
Buon lavoro allora
...e soprattutto, Buone Feste.
-
Grazie mille, anche a te e tutti i tuoi cari