我有一个数据库,其中文件名为 abcd100.00b、abcd101.00b、...
我需要一个代码,当用户单独输入 abcd 然后 100 到 110 时,所有名称为 abcd 并且在 100 到 110 范围内的文件都应该显示出来。
这些是具有命名约定的 rinex 文件,例如iisc001.10h
. 有多个文件,范围从iisc001.10h
toiisc100.30h
等等。我希望能够搜索iisc
(前 4 个字符),然后是 001 到 100 - 此范围内的所有文件都需要显示为表格形式。
下面的代码只能显示前四个字符,我该如何实现呢?
<?php
//capture search term and remove spaces at its both ends if the is any
$searchTerm = trim($_GET['keyname']) ;
//check whether the name parsed is empty
if($searchTerm == "rinex_file")
{
echo "Enter name you are searching for.";
exit();
}
if($searchTerm == "rinex_file")
{
echo "Enter name you are searching for.";
exit();
}
//database connection info
$host = "localhost"; //server
$db = "rinex"; //database name
$user = "m"; //dabases user name
$pwd = "c"; //password
//connecting to server and creating link to database
$link = mysqli_connect($host, $user, $pwd, $db);
//MYSQL search statement
$query = "SELECT * FROM rinexo WHERE rinex_file LIKE '%$searchTerm%'";
$results = mysqli_query($link, $query) ;
/* check whethere there were matching records in the table
by counting the number of results returned */
if(mysqli_num_rows($results) >= 1){
echo '<table border="1">
<tr>
<th>rinex version</th>
<th>program</th>
<th>date</th>
<th>maker name</th>
<th>maker number</th>
<th>observer</th>
<th>agency</th>
<th>position_X_Y_Z</th>
</tr>';
while($row = mysqli_fetch_array($results)){
echo '<tr>
<td>'.$row['rinex_version'].'</td>
<td>'.$row['pgm'].'</td>
<td>'.$row['date'].'</td>
<td>'.$row['marker_name'].'</td>
<td>'.$row['marker_no'].'</td>
<td>'.$row['observer'].'</td>
<td>'.$row['agency'].'</td>
<td>'.$row['position_X_Y_Z'].'</td>
</tr>';
}
echo '</table>';
}else{
echo "There was no matching record for the name " . $searchTerm;
}