array in un solo record

  • Creatore Discussione Creatore Discussione dream88
  • Data di inizio Data di inizio

dream88

Utente Attivo
8 Apr 2009
62
0
0
Ho ancora bisogno del vostro aiuto...

Io ho utilizzato questo codice:

PHP:
$risultati['id']=' ';
$risultati['Buonumore']='c';
$risultati['Mialzoconpiacere']='a';
$risultati['Sonomessomegliodeglialtri']='r';
$risultati['Memorianoproblem']='t';
$risultati['Lucidita']='y';
$risultati['Socialita']='u';
$risultati['Decisioni']='i';
$risultati['Nessunturbamento']='o';
$risultati['Nonpessimista']='p';



foreach($risultati as $elem => $value) {
  $query = "INSERT INTO donna(".$elem.") VALUES('".$value."')";

}
   $result = mysql_query($query);

 
if (!$result) { 
 
die("Errore nella query $query: " . mysql_error()); 
} 
 
echo 'Query eseguita correttamente'; 
?>

Solo che nel database mi vengono tante record quanti sono i valori nell'array...
Come faccio a farsì che tutti i valori finiscano in un solo record?

Grazie anticipatamente per l'aiuto.
 
Ciao Dream88, snon sbaglio desideri ottenere questo :
Codice:
INSERT INTO donna(id,Buonumore,Mialzoconpiacere,Sonomessomegliodeglialtri,Memorianoproblem,Lucidita,Socialita,Decisioni,Nessunturbamento,Nonpessimista) VALUES(' ','c','a','r','t','y','u','i','o','p')

allora potresti costruire la query in questo modo:
Codice:
$risultati['id']=' ';
$risultati['Buonumore']='c';
$risultati['Mialzoconpiacere']='a';
$risultati['Sonomessomegliodeglialtri']='r';
$risultati['Memorianoproblem']='t';
$risultati['Lucidita']='y';
$risultati['Socialita']='u';
$risultati['Decisioni']='i';
$risultati['Nessunturbamento']='o';
$risultati['Nonpessimista']='p';

$keys = array_keys($risultati);
$value = array_values($risultati);

$query = "INSERT INTO donna(".implode(",",$keys).") VALUES('".implode("','",$value)."')";
 
Ho un altro problema...
come hai detto tu mi funziona.. però se utilizzo questo codice:

PHP:
$risultati['id']=' ';
$risultati['Buonumore']= $buonumore;
$risultati['Mialzoconpiacere']= $mialzoconpiacere;

Mi succede come prima... dove sbaglio?
 
giusto per chiarezza, anche nel secondo caso abbiamo che:
PHP:
$buonumore = 'c';
sbaglio?
 
No.. in questo caso in $buonumore e negli altri ci sono dati provenienti da un'altra pagina e passati mediante il post.
 
stampati il contenuti dell'array ogni volta che vengono inviati i dati e vedi cosa c'è dentro
 
Dentro all'array ci sono tutti i valori però nel database non si inserisce niente... solo l'id... Ecco tutto il codice:

PHP:
$risultati['id']=' ';
$risultati['Nome']= $nome;
$risultati['Buonumore']= $buonumore;
$risultati['Mialzoconpiacere']= $mialzoconpiacere;
$risultati['Sonomessomegliodeglialtri']= $sonomessomegliodeglialtri;
$risultati['Memorianoproblem']= $memorianoproblem;
$risultati['Lucidita']= $lucidita;
$risultati['Socialita']= $socialita;
$risultati['Decisioni']= $decisioni;
$risultati['Nessunturbamento']= $nessunturbamento;
$risultati['Nonpessimista']= $nonpessimista;

$keys = array_keys($risultati);
$value = array_values($risultati);


if ($_POST['risposta']){
		$query3 = "INSERT INTO prova(id, Nome) VALUES(' ','Nome')";
		$result = mysql_query($query3);
		$query = "INSERT INTO donna(".implode("," , $keys).") VALUES('".implode("','" , $value)."')";
		$result = mysql_query($query);
}
 
Ultima modifica:
EDIT: Hai modificato il post mentre scrivevo! Mi sembrava di esser diventato pazzo! Comunque prova a fare così:
PHP:
$query = "INSERT INTO donna(".implode("," , $keys).") VALUES('".implode("','" , $value)."')";
die($query);
E vedi cosa ti restituisce.
 
Ultima modifica:
Praticamente lui ha scritto un post, poi lo ha modificato e allora l'ho modificato pure io. Solo che lui ha scritto prima che io ri-modificassi. Però ragazzi evitate di sconvolgere così radicalmente un post con un edit! :D
 
Non riesco a vedere che cosa mi restituisce die ($query) perché questa pagina php è solo da supporto per inserire dati, provenienti da un progetto di Flex Builder 3, nel database MySql...
 

Discussioni simili