所以,我正在使用PHP和HTML的混合来显示文本文件搜索查询的结果。在上一页中,有一组车牌号码,开始日期和结束日期的表格。理论上,如果文本文件包含所列日期内的牌照,它将显示所有时间,日期和位置在无序列表中显示的时间,日期和位置。无论是否有任何匹配,代码最初都会创建没有项目的列表。如果匹配,则为每个匹配创建一个列表项。如果没有,它会创建一个列表项,表示未找到匹配项。
然而,目前,如果没有匹配,它会尝试两者。如果数据库中没有数字匹配,它将为“匹配”创建一个大部分空白行,然后显示没有匹配的消息。
以下是当前错误输出的示例:
Query results for :
, : .
There are no plates found matching the query.
这是创建此代码的代码。我现在已经看了一个小时,无法弄清楚为什么会这样做。
<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8" />
<title>Query</title>
<link rel="Stylesheet" media="all" href="styles.css" />
</head>
<body>
<div class="match">
<h1>Query results for <?= $wantedplate ?>: </h1>
<ul>
<?php
$wantedplate = $_GET["plate"];
$data = fopen("stored.txt", "r");
$cline = fgets($data);
$match_check = 0;
list($cplate,$cdate,$ctime,$place) = explode(",",$cline);
while ( !feof($data) ) {
list($cplate,$csubject,$cdate,$ctime,$cplace) = explode(",",$cline);
if ($cplate == $wantedplate) {
$match_check += 1;
?>
<li> <?= $cdate ?>, <?= $ctime ?>: <?= $cplace ?>.</li>
<?php
;
$cline = fgets($data); }
else {$cline = fgets($data); }
}
if ( $match_check == 0 ) { ?>
<li> There are no plates found matching the query. </li>
<?php ; } ?>
</ul>
</div>
</body>
</html>
我们将非常感谢您提供的任何帮助。我现在一直盯着这个看了一个小时,仍然无法弄清楚为什么会这样做。在此先感谢您的帮助。