Gå til innhold

Lage en HASH eller noe lignende fra DB spørring


Anbefalte innlegg

Skrevet (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 av 356speedster
Videoannonse
Annonse
Skrevet

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.

Skrevet

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.";

 

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...