#php #html #search
#php #HTML #Поиск
Вопрос:
Я создаю веб-сайт базы данных, на котором есть строка поиска, тогда она приведет к странице результатов поиска (в виде таблицы). Затем пользователь выберет конкретный результат, который приведет к пользовательской веб-странице для этого результата. Есть ли способ сделать это в PHP / MYSQL?
Вот мой PHP-код:
<?php
include "databaseconnect.php";
$keywordfromform = $_GET["Search"];
$sql = ("SELECT titleID, authorsID, yearID, subjectID
FROM researchpapertable
WHERE titleID LIKE '%" . $keywordfromform . "%'
OR authorsID LIKE '%" . $keywordfromform . "%'
OR yearID LIKE '%" . $keywordfromform . "%'
OR subjectID LIKE '%" . $keywordfromform . "%'
");
$result = $mysqli->query($sql);
if ($result-> num_rows>0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo '<tr><td><a href="indivpage.php">'. $row["titleID"]."</a></td><td>". $row["authorsID"]."</td><td>". $row["yearID"]."</td><td>". $row["subjectID"]."</td></tr>";
}
} else {
echo "<tr><td> 0 results </td><td> 0 results </td><td> 0 results </td><td> 0 results </td><tr>";
}
$mysqli->close();
?>
Я поместил a <a href="indivpage.php">
в столбец, где они выберут заголовок по своему выбору. Что я должен разместить там, чтобы оно вело на конкретную страницу? Я не уверен, что мне следует искать для поиска похожих руководств / кода. Если есть похожие вопросы / код для этого, это очень помогло бы. Заранее спасибо!
Комментарии:
1. В чем разница между indivpage.php и indiv.php ?
2. @Max Muster это в основном то же самое, я уже отредактировал его, чтобы избежать путаницы. Я просто хотел бы отметить, что indivpage.php по сути, это страница, которая приведет к пользовательской странице, которую они выберут.
3. Для создания гиперссылки в HTML вам нужен тег <a>
4. вы хотите перенести переменные
$row["titleID"], $row["authorsID"], $row["yearID"], $row["subjectID"]
и так далее на это indivpage.php ? Что-то вроде:<a href="http://example.com/indivpage.php?titleID=$row["titleID"]...</a>
etc?
Ответ №1:
Вы бы отправили уникальный идентификатор в качестве параметра на свою страницу. Вот так:
echo '<tr><td><a href="indivpage.php?title_id=' . $row[titleID'] . '">' . $row["titleID"] . '</a>...etc...</td></tr>';
Затем в вашем indivpage.php вы бы использовали $_GET['title_id']
для извлечения всех деталей из базы данных.
Позвольте мне добавить к этому, что в написанном вами коде очень много ошибок. Для начала я бы посоветовал прочитать о SQL-инъекции