У меня есть код PHP, который читает из текстовых файлов и отображает результат, когда пользователь вводит слово для поиска, а система читает файлы и отображает результат с указанным номером строки и именем файла.
Я хочу отобразить эти результаты в виде таблицы или в форме, которая хорошо сформирована.
если это возможно, столбцы должны быть именами файлов, а строки содержат номер строки.
<?phpif(isset($_POST["search"]))
{
$search =$_POST['name'];
echo "the word $search exist: <br><br>";
foreach(glob($_SERVER['DOCUMENT_ROOT']."/readfiletest/*.txt") as $txts)
{
$line = 1;
$myFileLink = fopen($txts, 'r');
while(!feof($myFileLink))
{
$myFileContents = fgets($myFileLink);
if( preg_match_all('/('.preg_quote($search,'/').')/i', $myFileContents, $matches))
{
foreach($matches[1] as $match)
{echo "line [$line] file ";
}
echo basename ($txts) . "<br>".PHP_EOL;
}
++$line;
}
fclose($myFileLink);
}
}
?><html>
<head>
</head>
<meta http-equiv="Content-Language" content="ar-sa">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
#form {
background: -webkit-linear-gradient(bottom, #CCCCCC, #EEEEEE 175px);
background: -moz-linear-gradient(bottom, #CCCCCC, #EEEEEE 175px);
background: linear-gradient(bottom, #CCCCCC, #EEEEEE 175px);
margin: auto;
width: 200px;
height: 200px;
position: absolute;font-family: Tahoma, Geneva, sans-serif;
font-size: 14px;
font-style: italic;
line-height: 24px;
font-weight: bold;
color: #09C;
text-decoration: none;
border-radius: 10px;
padding: 10px;
border: 1px solid #999;
border: inset 1px solid #333;
-webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
}
</style
<body>
<div id = "form">
<form action="index.php" method="post">
<h1 align =center > Search Form </h1>
<p>enter your string <input type ="text" id = "idName" name="name" /></p>
<p align =center ><input type ="Submit" name ="search" value= "Search" /></p>
</form>
</div>
</body>
</html>
Вы можете написать HTML-теги, используя эхо
Итак, напишите это перед циклом foreach.
echo "<table>"
Внутри цикла foreach должно быть так
echo "<tr><td>".$line. "</td></tr>
Закройте тэг таблицы после цикла foreach
echo "</table>"
И это все.
Других решений пока нет …