2013-04-09 54 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