在PHP变量中获取自定义HTML标记

时间:2014-12-29 02:26:19

标签: php html

这是我想要完成的事情。

我有许多产品测试页面,我需要为此页面的特定产品创建价格比较。为此,我必须识别页面的产品以查询我的数据库。

我认为最好的方法是使用产品名称创建一个自定义HTML标记,并在页面中搜索它以将其放入PHP变量中。

如果这是做到这一点的好方法,我该怎样才能做到这一点?我不是PHP开发人员,我看到了DOMelement的一些内容以及一些看起来正是我需要做的代码。

<?php
$xml = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<books>
 <book>Patterns of Enterprise Application Architecture</book>
 <book>Design Patterns: Elements of Reusable Software Design</book>
 <book>Clean Code</book>
</books>
XML;

$dom = new DOMDocument;
$dom->loadXML($xml);
$books = $dom->getElementsByTagName('book');
foreach ($books as $book) {
    echo $book->nodeValue, PHP_EOL;
}
?>

这适用于XML,但它也适用于HTML。唯一的问题是,如何使用此DOMelement解析当前的HTML页面?

这是这样做的吗?如果是这样,你会怎么做?

编辑:

很抱歉,如果不清楚,但我理解ArtisiticPhoenix所说的是什么,这就是为什么我的方法可能无效。

我所拥有的是一个包含产品评论的HTML页面,我想在文章的底部添加该产品的价格比较。我的数据库已经设置了不同商店的价格。这是我为从数据库中获取值而编写的代码:

<?php

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$result = mysqli_query($conn,"select   p.Nom_produit, 
                                       b.Nom_boutique,
                                       b.logo_boutique,
                                       pp.Prix_produit, 
                                       pp.Prix_livraion,
                                       pp.Prix_produit + pp.Prix_livraion as Prix_total,
                                       pp.url_produit
                                from   Boutiques b
                                       Prix_produit pp
                                       Produits p
                               where   P.id_produit = pp.id_produit
                                 and   b.id_boutique = pp.id_boutique
                                 and   p.Nom_Produit = '.$NOM_PROD'
                              HAVING   pp.date_maj = max(date_maj)
                              order by Prix_produit+Prix_livraison asc LIMIT 5");

if ($result->num_rows > 0) {
    // output data of each row
    $table_resultats .= "
    $table_resultats .= "<table>"
    $table_resultats .= "<tr>"
    $table_resultats .= "<th>Logo</th>"
    $table_resultats .= "<th>Nom boutique</th>"
    $table_resultats .= "<th>Nom Produit</th>"
    $table_resultats .= "<th>Prix Produit</th>"
    $table_resultats .= "<th>Prix Livraison</th>"
    $table_resultats .= "<th>Prix Total</th>"
    $table_resultats .= "<th>Acheter</th>"
    $table_resultats .= "</tr>"

    while($row = $result->fetch_assoc()) {

        $table_resultats .= "<tr>"
        $table_resultats .= "<td>" . $row["logo_boutique"]. "</td>"
        $table_resultats .= "<td>" . $row["Nom_boutique"]. "</td>"
        $table_resultats .= "<td>" . $row["Nom_produit"]. "</td>"
        $table_resultats .= "<td>" . $row["Prix_Produit"]. "</td>"
        $table_resultats .= "<td>" . $row["Prix_livraison"]. "</td>"
        $table_resultats .= "<td>" . $row["Prix_total"]. "</td>"
        $table_resultats .= '<td><form action="'. $row["url_produit"]. '"><input type="button" value="Acheter"></form></td>'
        $table_resultats .= "</tr>"
    }
    $table_resultats .= "</table>"
} else {
    echo "Pas de résultats";
}
echo $table_resultats
$conn->close();
?>

我的主要问题是如何在查询中设置变量$NOM_PROD。我必须在产品和文章之间建立链接,并且我正在寻找创建此链接的​​方法。

0 个答案:

没有答案