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.