打印具有各种值的php页面

时间:2013-04-09 09:47:17

标签: php mysql printing

我有一个php页面,它从我的数据库中获取名为print.php的值,我用它来显示和打印数据库中的值。

print.php?id=100使用ID为100的数据库中的值加载页面。我的数据库中的每个记录都有一个字段来存储创建记录的日期。至于现在,我访问print.php?id=100print.php?id=101print.php?id=102print.php?id=103等等,以打印相同的页面但具有不同的值。

我有办法创建一个自动执行此操作的按钮吗?

此按钮应抓取所有具有当前日期的记录并打印所有这些页面。

很抱歉不清楚。

我的print.php页面回显我的数据库中的值,如下所示: Id:<?php echo $info['id']; ?> 姓名:<?php echo $info['name']; ?> 日期:<?php echo $info['date']; ?> 性别:<?php echo $info['gender']; ?>

所以例如访问print.php?id = 100加载这些值: Id:100 姓名:约翰 日期:2013-04-09 性别:男

Cisiting print.php?id = 101加载这些值: Id:101 姓名:莎拉 日期:2013-04-09 性别:女性

等等。

访问每个页面时,我按CTRL + P打印该信息。

而不是手动执行此操作(访问每个页面并将其发送到打印机),我希望有一个脚本可以抓取当前日期的所有记录并将其发送到我的打印机。

2 个答案:

答案 0 :(得分:0)

我不确定你想要什么,但我想你想要一个这样的形式:

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

这会将用户重定向到print.php?id=100或使用文本框中给出的值

编辑:

我从这个问题的评论中读到的是你想要实现的目标:

<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()取决于您创建,这将检查文本是否为有效日期,以确保没有人可以破解您的数据库

答案 1 :(得分: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

理解起来非常简单。