Itse en saanut workkimaan, joten onnistuuko tälläinen ja jos niin miten?
function haetiedot($runid) { $result = mysql_query("select id,nimi from taulu where id=$runid"); $row = mysql_fetch_array($result); }
Ja sitä olisi kiva käyttää näin:
$runid = 373; haetiedot($runid); $nimi=$row["nimi"];
Kiitos jo etukäteen!
Sain toisaalta tälläiseksi muutellut ehdotuksen, mutta ei toimi tämäkään:
<?php function haetiedot($runid) { $result = mysql_query("select id,nimi from taulu where id=$runid"); $row = mysql_fetch_assoc($result); return $row; } $runid = 373; $row = haetiedot($runid); $nimi=$row["nimi"];
Jos haluat, että funktiossa käytettyjen muuttujien arvot säilyvät koko skriptin alueella, määrittele ne funktion alussa global-komennolla. Esim.
<?php function testi() { global $arvo; $arvo = 5; } testi(); echo $arvo; //5 ?>
Kokeilin tuota globalia jo eilen ja nyt taas tuon uudemman ehdotuksen kanssa. Ei toimi.
Kyllä tuo vaan minulla toimi, kun kokeilin.
Tapa 1, global-komennolla:
<?php function haetiedot($runid) { global $row; $result = mysql_query("SELECT id, nimi FROM taulu WHERE id = $runid"); $row = mysql_fetch_array($result); } haetiedot(373); $nimi = $row["nimi"]; ?>
Tapa 2, palautusarvolla:
<?php function haetiedot($runid) { $result = mysql_query("SELECT id, nimi FROM taulu WHERE id = $runid"); return mysql_fetch_array($result); } $row = haetiedot(373); $nimi = $row["nimi"]; ?>
Saatko mitään virheilmoitusta?
Hmm.. En tiedä mikä mätti aiemmin, mutta nyt toimii... Kiitos avusta! Ei, ei tullut virheilmoitusta, mutta ei kyllä tiedotkaan liikkuneet...
Tuon voi tehdä myös käyttämällä $GLOBALS -taulukkoa, eli siis:
$GLOBALS["muuttuja"]
Tässä tulee huomioida, ettei siinä ole sitä alaviivaa samoin kuin $_COOKIE- tai $_SERVER-muuttujissa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.