356speedster Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 (endret) Henter noen verdier fra MySql som jeg vil legge inn i en hash/array eller noe lignende for deretter å legge resultater inn i en annen variabel. Poenget er at jeg henter to variabler fra databasen som skal være en del av en tekststreng som ikke skal skrives ut med print""; men behandles som en variabel. $sth = $dbh->prepare("SELECT key,value FROM table"); $sth->execute(); while (($key,$value)=$sth->fetchrow_array()){ @array= ("$key $value",); } $sth->finish(); $output="Her er nøkler og verdier: @array som skal skrives ut senere."; Noen som ser hva jeg gjør feil? Endret 1. mars 2005 av 356speedster Lenke til kommentar
mysjkin Skrevet 1. mars 2005 Del Skrevet 1. mars 2005 Vet ikke om jeg har forstått deg riktig, men jeg oppfatter det du sier som om du vil i ettertid referere til $value som $key. I så fall skal du si while (($key,$value)=$sth->fetchrow_array()){ $hash{$key} = $value; } $st->finish; foreach $key (keys(%hash){ print "Verdien til $key er $hash{$key}"; } Hvis du vil ha hver "$key $value" stappet inn i et array, (slik det ser ut som etter det du har kodet) blir det: while (($key,$value)=$sth->fetchrow_array()){ push @array "$key $value"; } $st->finish; print "Verdien til $key er $hash{$key}"; } $output="Her er nøkler og verdier: @array som skal skrives ut senere."; # Her blir delene av arrayet stappet på hverandre M. Lenke til kommentar
356speedster Skrevet 2. mars 2005 Forfatter Del Skrevet 2. mars 2005 Fant til slutt ut av det :-) her er løsningen: while (($key,$value)=$sth->fetchrow_array()){ push(@array, "$key $value",); } $sth->finish; $output="Her er nøkler og verdier: @array som skal skrives ut senere."; Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå