如何在函数之间发送变量

时间:2014-07-08 07:20:02

标签: php mysql

我是php的新手,所以我的问题可能很愚蠢,但我真的不知道该怎么办。

我创建了一个名为funkce {}的类,其中包含了我的所有Web功能。这个php文件名为funkce.php 然后我创建了第二个php文件,名为index.php,我用变量$ funkce = new funkce()调用这些函数;

我的问题是: 在function.php中,我有一个用于插入新用户的函数“vloz_prvni”和一些关于accomedation的细节。关于accomedation(名称是pronajem_pokoj_nabizim)的表是从函数mysql_insert_id()得到的表“uzivatel”中的外键id_user。

然后我有下一个功能,在那里我有关于accomedation位置的详细信息(名称是“vloz_druhou”)。并且它与上一张表相同,在关于位置的表中(name-“lokalita_nabizim”)我有一个来自表accomedation的外键,这是id_accomedation我需要得到这个外键的值,但我不知道怎么样传递前一个函数的变量。

代码:     

{
    var $id_uzivatel, $jmeno, $prijmeni, $email, $heslo, $telefon;
    var $kraj, $mesto, $ctvrt, $ulice;
    var $datum_volne, $cena, $hledana_osoba_muz, $hledana_osoba_zena, $hledana_osoba_par, $pocet_hledanych_osob, $pocet_stavajicich_osob, $popis;


    public function vloz_prvni ($jmeno, $prijmeni, $email, $heslo, $telefon, $datum_volne, $cena, $hledana_osoba_muz, $hledana_osoba_zena, $hledana_osoba_par, $pocet_hledanych_osob, $pocet_stavajicich_osob, $popis)
    {
        mysql_query("INSERT INTO uzivatel (jmeno, prijmeni, email, heslo, telefon) VALUES     ('$jmeno', '$prijmeni', '$email', '$heslo', '$telefon')");

        $vysledek=mysql_query("SELECT id_uzivatel FROM uzivatel WHERE email='$email'");
        $zkouska= MySQL_Fetch_Array($vysledek);
        $id_uzivatel=$zkouska['id_uzivatel'];

        mysql_query("INSERT INTO inzerat_nabizim (id_uzivatel, datum_vlozeni) VALUES ('$id_uzivatel', CURRENT_DATE)");
        $id_inzerat_nabizim = mysql_insert_id();
        mysql_query("INSERT INTO pronajem_pokoj_nabizim (id_inzerat_nabizim, datum_volne, cena, hledana_osoba_muz, hledana_osoba_zena, hledana_osoba_par, pocet_hledanych_osob, pocet_stavajicich_osob, popis)
    VALUES ('$id_inzerat_nabizim', '$datum_volne', '$cena', '$hledana_osoba_muz', '$hledana_osoba_zena', '$hledana_osoba_par', '$pocet_hledanych_osob', '$pocet_stavajicich_osob', '$popis')");


    global $id_pronajem_pokoj_nabizim;
    $id_pronajem_pokoj_nabizim = mysql_insert_id();

    }
    function vloz_druhou ($kraj, $mesto, $ctvrt, $ulice)
    {
        mysql_query("INSERT INTO lokalita_nabizim (id_pronajem_pokoj_nabizim, kraj, mesto, ctvrt, ulice) VALUES ('$id_pronajem_pokoj_nabizim','$kraj', '$mesto', '$ctvrt', '$ulice')");
    }
}
?>

我需要从函数“vloz_prvni”获取变量$ id_pronajem_pokoj_nabizim到函数“vloz_druhou”。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

首先,你的问题不太清楚

(1)类名不能是保留字。所以我猜它不起作用。

(2)如果要在另一个函数中使用变量中的值,则将该变量声明为全局变量 实施例

    <?php
      function sum()
      {
        $a=1;
        $b=2;
        return $a+$b;
       }
      global $x;
      $x=sum();
      $n="this is final";
      function display($n)
      {
        global $x;
        echo "$n"." $x";
       }
      display($n);
    ?>

答案 1 :(得分:0)

提示 - 使用全局数组。

请注意更改,这应该可以正常工作 -

{
    var $id_uzivatel, $jmeno, $prijmeni, $email, $heslo, $telefon;
    var $kraj, $mesto, $ctvrt, $ulice;
    var $datum_volne, $cena, $hledana_osoba_muz, $hledana_osoba_zena, $hledana_osoba_par, $pocet_hledanych_osob, $pocet_stavajicich_osob, $popis;
    var $id_pronajem_pokoj_nabizim;

    public function vloz_prvni ($jmeno, $prijmeni, $email, $heslo, $telefon, $datum_volne, $cena, $hledana_osoba_muz, $hledana_osoba_zena, $hledana_osoba_par, $pocet_hledanych_osob, $pocet_stavajicich_osob, $popis)
    {
        mysql_query("INSERT INTO uzivatel (jmeno, prijmeni, email, heslo, telefon) VALUES     ('$jmeno', '$prijmeni', '$email', '$heslo', '$telefon')");

        $vysledek=mysql_query("SELECT id_uzivatel FROM uzivatel WHERE email='$email'");
        $zkouska= MySQL_Fetch_Array($vysledek);
        $id_uzivatel=$zkouska['id_uzivatel'];

        mysql_query("INSERT INTO inzerat_nabizim (id_uzivatel, datum_vlozeni) VALUES ('$id_uzivatel', CURRENT_DATE)");
        $id_inzerat_nabizim = mysql_insert_id();
        mysql_query("INSERT INTO pronajem_pokoj_nabizim (id_inzerat_nabizim, datum_volne, cena, hledana_osoba_muz, hledana_osoba_zena, hledana_osoba_par, pocet_hledanych_osob, pocet_stavajicich_osob, popis)
    VALUES ('$id_inzerat_nabizim', '$datum_volne', '$cena', '$hledana_osoba_muz', '$hledana_osoba_zena', '$hledana_osoba_par', '$pocet_hledanych_osob', '$pocet_stavajicich_osob', '$popis')");
        $GLOBALS['id_pronajem_pokoj_nabizim'] = mysql_insert_id();
    }
    function vloz_druhou ($kraj, $mesto, $ctvrt, $ulice)
    {
        mysql_query("INSERT INTO lokalita_nabizim (id_pronajem_pokoj_nabizim, kraj, mesto, ctvrt, ulice) VALUES ('".$GLOBALS['id_pronajem_pokoj_nabizim']."','$kraj', '$mesto', '$ctvrt', '$ulice')");
    }
}
?>