我是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”。
任何帮助将不胜感激。
答案 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')");
}
}
?>