2013-04-09 56 views
0

我有一個從我的數據庫獲取值的名爲print.php的php頁面,我用它來顯示和打印來自我的數據庫的值。打印各種值的PHP頁面

print.php?id=100使用ID爲100的數據庫中的值加載頁面。我的數據庫中的每條記錄都有一個字段來存儲記錄的創建日期。至於現在我訪問print.php?id=100print.php?id=101,print.php?id=102,print.php?id=103等打印相同的頁面,但具有不同的值。

有沒有辦法讓我創建一個自動執行此操作的按鈕?

該按鈕應該抓取所有具有當前日期的記錄並打印所有這些頁面。

對不起,不清楚。從我的數據庫這樣的

我print.php頁回聲值: 編號:<?php echo $info['id']; ?> 名稱:<?php echo $info['name']; ?> 日期:<?php echo $info['date']; ?> 性別:<?php echo $info['gender']; ?>

因此,例如參觀print.php ID = 100個加載這些值: 編號:100 姓名:John 日期:2013年4月9日 性別:男

Cisiting print.php ID = 101個加載這些值: Id:101 姓名:Sarah 日期:2013-04-09 性別:女

等等。

當訪問每個頁面時,我按CTRL + P打印該信息。

而不是手動執行此操作(訪問每個頁面並將其發送到打印機)我想要一個腳本抓取當前日期的所有記錄並將其發送到我的打印機。

+0

你可以使用?id = 100,101,102,並在那裏使用分割?id =的每個實例和echo值? – InfiniDaZa 2013-04-09 09:49:38

+1

你的問題還不清楚。你可以請elaborat它。 – 2013-04-09 09:51:48

+0

你必須發送'日期'而不是'id'。例如'print.php?date = 09-04-2013',並且在你的PHP腳本中,你可以在你的SQL查詢中使用這個日期,即'SELECT * FROM table WHERE date ='$ date''。 – enenen 2013-04-09 09:52:59

回答

0

我不知道你想archieve什麼,但我想你想這樣的形式:

<form method="get" action=""> 
    <input type="text" name="id" value="100"/> 
    <input type="submit"/> 
</form> 

這將用戶重定向到print.php?id=100或在文本框中給出的值

編輯:

我從對這個問題的意見看這是什麼,你要什麼archieve:

<form method="get" action=""> 
    <input type="text" name="date" value="<?=date('yyyy-mm-dd');?>"/> 
    <input type="submit"/> 
</form> 

這將顯示出與當今的印刷日期文本框形式

,那麼你應該做一個查詢並獲取像這樣:

$date = check_date($_GET['date']); 
$query = 'SELECT * FROM values WHERE date="'.$date.'"'; 
if ($result = $mysqli->query($query)) { 
    while ($row = $result->fetch_assoc()) { 
     // print row 
    } 
} 

功能check_date()是由你創造,這將檢查文本是否是有效的日期,以確保沒有人可以破解你的數據庫

+0

我再次閱讀這個問題,我將其編輯爲我對您更具體需求的回答 – Dediqated 2013-04-09 09:57:09

+0

如果只使用當前日期,則不必從表單中傳遞日期。查詢中的'CURDATE()'將完成這項工作。 – enenen 2013-04-09 10:08:48

+0

我知道,但問題不是很清楚,我想給予提問者自己約會的靈活性。 – Dediqated 2013-04-09 10:13:17

0

據我所知(這不是很清楚)你想要一個指定日期的記錄。然後,您必須發送該日期的參數,但不是單個記錄ID。

所以,你可以發送日期print.php?date=09-04-2013例如和你的PHP腳本您的查詢將是:

$date = $_GET['date']; // validate it 

$sql = "SELECT * FROM table WHERE date = '$date'"; 

// fetch result 

// print with a foreach loop as you like 

或者,如果你想在當前日期只有你不需要在傳遞一個參數所有。只需使用CURDATE()如果你的日期字段只包含日期或NOW()如果它包含日期和時間:

$sql = "SELECT * FROM table WHERE date = CURDATE()"; 

// fetch result 

// print with a foreach loop as you like 

更多:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

還是沒能明白你是否有問題的HTML或與PHP的一部分。 如果你問只是爲HTML表單,以及如何創建一個按鈕,你可以點擊這裏: http://www.w3schools.com/php/php_forms.asp

這是很容易理解。

+0

在第二個代碼塊中,如果只使用'CURDATE()',則不需要變量'$ _GET ['date']') – Dediqated 2013-04-09 10:14:22

+1

當然,只是複製/粘貼忽略。編輯。 – enenen 2013-04-09 10:15:11