Inserimento array nel DB

rorimbetta

Nuovo Utente
29 Apr 2009
5
0
0
Salve a tutti, ho un problema nell'inserimento di un array nel Db. Ho
cercato nelle altre discussioni, ma non ho trovato una risposta al mio
problema.
Ho questo array

$funz = $_GET['funzionalita'];

e tramite un ciclo for, cerco di inserirlo nel DB

for ($i = 0, $n = count($funz) ; $i < $n ; $i++)
{
$query = "INSERT INTO funzionalita (Nome_funz) VALUES ('$funz[$i]')";
mysql_query($query, $connessione);
}

solo che nel DB viene memorizzato tutto l'array in un'unica riga.

Io non sono per niente pratica di php, ho provato in mille modi
diversi, ma il risultato non cambia. Sapreste aiutarmi? Grazie
 
Devi prima fare l'explode dell'array...
In pratica devi aggiungere questa riga di codice

PHP:
$funzs = explode(' ',$funz);
Tra gli ' ' devi mettere il carattere che separa le parole all'interno dell'array... Se lo lasci così vuol dire che sono separate da uno spazio bianco.
 
Grazie per la risposta. Ho inserito la riga di codice

$funz = $_GET['funzionalita'];
$funzs = explode(',',$funz);

for ($i = 0, $n = count($funzs) ; $i < $n ; $i++)
{
$query = "INSERT INTO funzionalita (Nome_funz) VALUES ('$funzs')";
mysql_query($query, $connessione);
}

ma adesso nel DB viene inserito "Array".
 
Invece di scrivere questo

PHP:
for ($i = 0, $n = count($funzs) ; $i < $n ; $i++)

prova a scrivere questo:

PHP:
for ($i = 0, $i <= count($funzs) ; $i++)
 
Niente ancora. Così nel DB inserisce 2 righe di cui una contiene "Array" e l'altra è vuota. Chissà cosa sbaglio.
 
ciao
come è fatta la tabella in cui inserisci?
se hai un id primary auto_increment ad ogni giro dovrebbe inserirti una riga

comunque lavorando con gli array è preferibile

foreach($funz as $valore){
$query = "INSERT INTO funzionalita (Nome_funz) VALUES ('$valore')";
mysql_query($query, $connessione);
}
dimenticavo
se $fun è un array del tipo
$fun[0]="valore1"
$fun[1]="valore2"
ecc.....
se invece
$fun['primo']="valore1"
$fun['secondo']="valore2"
ecc.....

il foreach deve essere

foreach($funz as $chiave =>$valore){ il resto uguale
 
Ultima modifica:

Discussioni simili