Sicuramente sbaglio qualcosa di basilare, il ragionamento fila, solo che non funziona.

allora

ho una tabella

con 7 colonne

id
valori_raggruppati
valore_scomposto_0
valore_scomposto_1
valore_scomposto_2
valore_scomposto_3
valore_scomposto_4
valore_scomposto_5

nella colonna id c'è l'id (naturalmente)
nella colonna valori_raggruppati, ci sono elencati dei prodotti messi tutti insieme

es: patate - limoni - carciofi - barbabietole

le altre colonne sono vuote

io voglio suddividere tutti gli articolo presenti nel campo valori_raggruppati, nei campi valore_scomposto_X

quindi:

valore_scomposto_0 conterra: patate
valore_scomposto_1 conterra: limoni
valore_scomposto_2 conterra: carciofi
valore_scomposto_3 conterra: barbabietole
valore_scomposto_4 sarà vuoto
valore_scomposto_5 sara vuoto



premetto che i record sono tantissimi, quindi si dovrà fare il tutto in automatico.


cosa ho pensato?

allora, posto il codice:

Codice PHP:

/*##### COLLEGAMENTO AL DATABASE ##### */

$db mysql_connect($db_host$db_user$db_password);
  if (
$db == FALSE)
    die (
"Errore nella connessione. Verificare i parametri nel file config.inc.php");

  
mysql_select_db($db_name$db)
    or die (
"Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

/* ##### FINE - COLLEGAMENTO AL DATABASE ##### */



// faccio la prima query per estrarre tutti i record
$query "SELECT * FROM nome_tabella";
$result mysql_query($query$db)
or die(
mysql_error());

//creo il ciclo 
while ($row mysql_fetch_array($result)) { 


// sudddivido quello che c'è nel campo 'valori_raggruppati' in una query 

$valore_scomposto explode " - "$row['valori_raggruppati'], 11); 
print_r ($valore_scomposto);

// e fin qui funziona, mi stampa per ogni riga la query $valore_scomposto con i valori suddivisi per chiave.


// il bello viene ora, devo inserire i valori recuperati con l'EXPLODE nei rispettivi campi.


// quindi, restando sempre nel ciclo provo a modificare i campi


$query1 "UPDATE nome_tabella SET 
`valore_scomposto_0` = '
$valore_scomposto[0]',
`valore_scomposto_1` = '
$valore_scomposto[1]',
`valore_scomposto_2` = '
$valore_scomposto[2]',
`valore_scomposto_3` = '
$valore_scomposto[3]',
`valore_scomposto_4` = '
$valore_scomposto[4]',
`valore_scomposto_5` = '
$valore_scomposto[5]',
WHERE `id` = 
$row[id] LIMIT 1";


if (
mysql_query($query1$db)) 
    echo 
"La scheda è stata inserita correttamente

"
;
 else 
    echo 
"Errore durante l' inserimento

"
;
}


mysql_close($db); 
NIENTE DA FARE - NON VA

Sinceramente non so se sto facendo un insulto a mysql o sbaglio l'impostazione del tutto.

forse non si può neanche fare con php, ma mi sembra strano.

Sicuramente si può fare con le subquery, ma ho provato, riprovato e poi comincia la nebbia.

avete qualche imput?

ringrazio sempre

ciao

Giuseppe