我有需要更新搜索脚本的零件网站。我有一个包含 3 列的 Excel 表,分别是零件编号、零件名称和页码。我只想创建一个简单的搜索框,当输入一个条目并单击提交时,它会搜索 txt 列表并在网页上显示/回显/打印对应的 txt 文件的任何行,无论是部件号还是描述姓名。它是为了帮助人们找到一个部件,然后将它们链接到可以找到它的目录页面 - 所以页码是页面的链接。
下面的这个搜索脚本正是我需要它做的,我没有写它,它是由一位前雇员写的 - 它连接到一个 mySQL 数据库 - 但我不能再这样做了,mySQL 在共享托管服务上并且最小字符搜索设置为 4 且无法修改。我需要能够搜索 3 个字符的单词,例如“oil”、“brm”、“rod”。
几天来我一直在尝试寻找替代方法。我希望能够连接或搜索包含零件编号列表和可以找到它们的页面的 txt 或 Excel 文件,而不是将其连接到 mySQL 数据库。
我不知道如何修改它以使其连接到 txt 文件而不是 mySQL 数据库。这甚至可能吗?我需要使用不同类型的脚本吗?
我很感激任何指导。谢谢!
<?php
if ($_POST['action'] =="search") {
function make_page_url($pageno) {
return "../vwcatalog/2013/" . $pageno . ".html";
}
echo "<tr><td>Search Results : (HINT-If Nothing Is Listed Below, Try the Table of Contents at the Bottom of the Page<br>
Search Hint: If necessary, try using singular words, instead of plural, i.e.; 'seat' - instead of 'seats'.)</td></tr>\n";
$dbsearchlink=mysql_connect($db["host"],$db["user"],$db["pass"])
or die("Failed to make database connection: " . mysql_error());
mysql_select_db($db["used"])
or die("Failed to select database: " . mysql_error());
$query=sprintf("select partno,description,pageno from part_to_page where year=2013 and match(partno,description) against ('%s')",
mysql_real_escape_string($_POST['searchfor']));
$result=mysql_query($query) or die("Query failed: " . mysql_error());
echo "<tr><td><table>\n";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$url=make_page_url($row['pageno']);
echo "\t<tr>";
echo "<td>" . $row['partno'] . "</td>";
echo "<td><a href=$url>" . $row['description'] . "</a></td>";
echo "</tr>\n";
}
echo "</table></td></tr>\n";
mysql_free_result($result);
mysql_close($dbsearchlink);
}
?>