php - 将mysql信息动态放置在带有id的div中

标签 php mysql database html

我正在尝试将项目从 mysql 数据库动态放入购物车 (jcart)。我有一个包含 3 个 div 的页面,并且都包含一个购物车表单(下面的表单代码)。我正在从数据库中获取信息并将其放入表单中。

第一个 div 正确获取信息,但第二个 div 显示完全相同的内容,并且与第三个 div 相同(我猜来自 php 循环)。我希望每个表单都使用数据库中的相应 ID 进行填充,因此每个 div 都是不同的。在这种情况下,我有三个网站 1.Leftlane News 2. MotorAuthority 3. 数据库中的 Autoblog。然后我为每个具有相同名称的站点创建单独的数据库,在这些数据库中是填充每个站点的购物车表单的信息。

所以,问题是我无法获取相应的 div 信息来显示。无论如何从 id 或其他东西中获取信息并显示 1.leftlane 新闻 -> leftlane 新闻购物车信息 2. Motorauthority -> Motorauthority 购物车信息 3. Autoblog -> Autoblog 购物车信息。

这是将所有内容放在一起的主要 php 文件:

<?php

function outputListingsTable()
{
    include("property.php");

    $mysql = new mysqli('localhost', 'root', 'root', 'ajax_demo') or die('you\'re dead');
    $result = $mysql->query("SELECT * FROM explore") or die($mysql->error);

if($result) 
{
        echo "<div id=\"MyContentArea\"> \n";
                                while($row = $result->fetch_object()) 
                                {
                                        $id = $row->id;
                    global $siteName;
                                        $siteName = $row->site_name;
                    global $siteDescription;
                                        $siteDescription = $row->site_description;
                    global $siteURL;
                                        $siteURL = $row->site_url;
                    global $sitePrice;
                                        $sitePrice = $row->site_price;

                                        echo "<div id=\"main-info-" .$id. "\" class=\"maini\"> \n";
                                        echo " " . $siteName . " \n";
                                        echo " " . $siteURL . " \n";
                                        echo " <a id=\"link-" . $id . "\" class=\"more-info-link\" href=\"#\">More info</a> \n";      
                                        echo "</div> \n";

                        echo "<div id=\"more-info-" .$id. "\" class=\"mi\"> \n";
                                echo "              <span class=\"description\">" . $siteDescription . "</span> \n";
                        echo "<div id=\"buy-info-" .$id. "\" class=\"mib\"> \n";
                                echo "              <span class=\"buy\">This is where you can purchase available property.</span> \n";
                        echo " </div> \n";

                        echo " <a href=\"http://localhost:8888/mainsite2/detail.php?id=$id\">More Details</a>";

                        echo "<div id=\"buy-info-" .$id. "\" class=\"mib\"> \n";



                                    echo"   <form method=\"post\" action=\"\" class=\"jcart\">";
                                    echo"       <fieldset>";
                                    echo"           <input type=\"hidden\" name=\"my-item-id\" value=\"" .$idp. "\" />";
                                    echo"           <input type=\"hidden\" name=\"my-item-name\" value=\"" .$adType. "\" />";
                                    echo"           <input type=\"hidden\" name=\"my-item-price\" value=\"" .$adPrice. "\" />";

                                    echo"           <ul>";
                                    echo"               <li><strong>" .$adType. "</strong></li>";

                                    echo"               <li>Price: $" .$adPrice. "</li>";
                                    echo"               <li>";
                                    echo"                   <label>Qty: <input type=\"text\" name=\"my-item-qty\" value=\"1\" size=\"3\" /></label>";
                                    echo"               </li>";
                                    echo"           </ul>";

                                    echo"           <input type=\"submit\" name=\"my-add-button\" value=\"add to cart\" class=\"button\" />";
                                    echo"       </fieldset>";                       
                                    echo"   </form>";




                        echo " </div> \n";

                        echo " </div> \n";
                                }
echo "</div> \n";           

    }

}

?>

这是我在上面的 leftlane 中包含的 property.php 页面:

<?php
    $mysql = new mysqli('localhost', 'root', 'root', 'leftlane_news') or die('you\'re dead');
    $result = $mysql->query("SELECT * FROM property") or die($mysql->error);

if($result) 
{
                                while($row = $result->fetch_object()) 
                                {
                                        $idp = $row->property_id;                   
                                        $adType = $row->ad_type;                    
                                        $adAvail = $row->ad_avail;              
                                        $adSold = $row->ad_sold;
                                        $adPrice = $row->ad_price;  
                                }
    }
?>

任何帮助都会很棒。谢谢。

最佳答案

看起来您正在同一个循环中构建所有 3 个 div - 这意味着它们都将获得完全相同的数据。我不太了解你的具体细节,但你可能想要一个更接近于以下内容的循环:

<?php
while($row = $result->fetchObject())
{
    echo '<div id="' . $row->data . '" >';
    //more stuff
    echo '</div>';
}

这将为结果集中的每一行创建一个 DIV。

关于php - 将mysql信息动态放置在带有id的div中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1193760/

相关文章:

php - 查询在 PHP 中运行一次

php - 如何将 mysql_real_escape_string 设为零

php - 使用 JSON 发送二进制文件内容

mysql 夏令时 - 判断 true 或 false

php - 只写一行到我的 SQL 数据库

php - 数据库中的日期条目在哪里 - Cyber​​sourcePK 的 WooCommerce 事件管理器

php - 如何建模多对多关系?

php - 通过 id 更新表行中的值 - PHP

python - pytest mysql 数据库 fixture : cannot create database

sql - Mysql分选问题