Связывание результата поиска в базе данных с другой страницей

#php #html #hyperlink

#php #HTML #гиперссылка

Вопрос:

Для школьного проекта я должен создать интернет-магазин на PHP и использовать базу данных для поиска ваших товаров, у меня есть код для отображения результатов, однако я хочу создать ссылку, чтобы при нажатии на один из результатов поиска вы переходили на страницу этого товара.

Я пытался искать в Интернете, но, похоже, нигде не смог его найти, поэтому я публикую этот вопрос.

 $sql = "SELECT ProductID, ProductTags, ProductName FROM producttabel";
$result = $mysqli->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    echo '<div class="allepccskop">';
    echo "Onze producten: " . "<br>";
    echo '</div>';
    
while($row = $result->fetch_assoc()) {
    echo '<div class="allepccs">';
    echo $row["ProductName"]. "<br>";
    echo '</div>';
    }
} else {
    echo "0 results";
}
  

Комментарии:

1. создайте php-файл для одного продукта. И получите идентификатор продукта или что-то с запросом get в этом файле. И получите сведения о продукте, затем покажите с этим идентификатором. (предложение sql where)

2. В чем именно заключается ваш вопрос? Что мешает вам делать то, что вы хотите? Вы пробовали что-нибудь?

3. @PatrickQ ну, я действительно не знаю, что делать, и я не смог найти свою проблему в Интернете, но я перефразирую свой вопрос: в коде написано: $row[«productname»] . я хочу сделать оператор IF, например: IF $row[«productname»] = product 2 { href:product2.php

4. Пожалуйста, отредактируйте свой вопрос с соответствующей информацией.

Ответ №1:

Я хочу создать ссылку, когда вы нажимаете на один из результатов поиска, вы переходите на страницу этого продукта.

Чтобы создать ссылку на страницу продукта, вам нужно использовать html-тег, просто оберните его вокруг названия вашего продукта вот так:

 echo '<a href="index.php?id=' . $row["ProductID"] . '">' . $row["ProductName"]. "</a><br>"; 
  

href Атрибут содержит имя вашего файла php (например index.php ) и GET параметр id для отправки идентификатора продукта на страницу php.

Полный пример:

Предполагая, что вы хотите расширить свой код для отображения одного продукта, когда указан идентификатор продукта ( ProductID ), или всех продуктов в противном случае.

Это простой пример того, как вы могли бы расширить свой код, посмотрите на комментарии:

 <?php

// take id from the request, otherwise set default to null
$productId = isset($_GET['id']) ? intval($_GET['id']) : null;

// when we have an id in the url, then we display a product page
if (!is_null($productId)) {

    $sql = 'SELECT ProductID, ProductTags, ProductName FROM producttabel WHERE ProductID = ' . $productId;
    $result = $mysqli->query($sql);

    if ($result amp;amp; $result->num_rows == 1) {
        $row = $result->fetch_assoc();
        $result->free(); // free result set

        // output data of each row
        echo '<div class="allepccskop">';
        echo "Product page: #" . $productId . "<br>";
        echo '</div>';

        echo '<div class="allepccs">';
        echo $row["ProductName"]. "<br>";
        echo '</div>';

    } else {
        echo "Product not found";
    }

// otherwise we show All products page
} else {

    // your code

    $sql = 'SELECT ProductID, ProductTags, ProductName FROM producttabel';
    $result = $mysqli->query($sql);

    if ($result amp;amp; $result->num_rows > 0) {
        // output data of each row
        echo '<div class="allepccskop">';
        echo "Onze producten: " . "<br>";
        echo '</div>';

        while ($row = $result->fetch_assoc()) {
            echo '<div class="allepccs">';
            echo '<a href="index.php?id=' . $row["ProductID"] . '">' . $row["ProductName"]. "</a><br>"; 
            echo '</div>';
        }
        $result->free(); // free result set
    } else {
        echo "0 results";
    }

}