Страница результатов поиска, ведущая на определенную страницу [вверх]

#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-инъекции