2017-10-16 31 views
-5

我一直在學習PDO。基本上我想要做的是顯示一年中任何一天下班的名字。無法讓我的PDO查詢顯示在另一頁上

我創建了一個準備好的語句,它根據變量中設置的日期給出了名稱。它按預期工作。

我遇到的問題是在單獨的頁面上顯示。可以說我的網頁PDO聲明被稱爲vacationnames.php

根據不同的日期,我需要顯示這4個不同的頁面中的名稱calendar1.php或calendar2.php等等。

這裏是我的代碼: vacationnames.php

$dsn = "mysql:host=$host;dbname=$db;charset=$charset"; 
$opt = [ 
PDO::ATTR_ERRMODE   => PDO::ERRMODE_EXCEPTION, 
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 
PDO::ATTR_EMULATE_PREPARES => false, 
]; 
$db = new PDO($dsn, $user, $pass, $opt); 

$sth = $db->prepare(" 
SELECT (employee.name)Name 
, vacation_picks._date1 as Date 
FROM employee 
LEFT OUTER JOIN 
vacation_picks on 
employee.employee_id = vacation_picks.employee_id 
WHERE vacation_picks._date1 = :day 
"); 

這是對calendar.php網頁之一

$myVariable = ('2017-1-1'); 
// This executes the SQL query, binding the parameter as we go. 
$sth->execute(array(
':day' => $myVariable 
)); 

// echo $myVariable; 
foreach($sth as $row) { 
echo $row['Name']; 
} 

即使把 '第一天' PHP的日曆.php with vacationnames.php required_once不給我結果。如果可能的話,我寧願在calendar.php中使用更少的代碼。

感謝您的期待。

+0

* *「我有被顯示的是一個單獨的頁面上的問題。」 - 您可以使用這個會話。但是,這聽起來更像是一個超出範圍的問題。 –

+0

[有時,您可以使用預準備語句來執行準備好的查詢的多次執行。如果可以執行另一個PHP實例中準備的語句,該功能將會更加有用。但是,唉 - 它不是](https://phpdelusions.net/pdo#multiexec) –

+1

基本上,你的代碼應該發出一個「Undefined variable $ sth」的錯誤,因爲,正如你猜測的那樣,無處可見$ sth可以被定義在calendar.php –

回答

-1

你可以爲此使用SESSIONS。存儲您提交值到會話變量,你可以在該變量的任何地方在您的網站,然後調用如果頁面包含在session_start()頂部

下面是手動的鏈接 - http://php.net/manual/en/reserved.variables.session.php

例如

$_SESSION['name'] = $_POST['firstname']; 

我希望這可以讓你去