使用id动态地将mysql信息放在div中

时间:2009-07-28 12:24:57

标签: 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 News - > leftlane news cart info 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;  
                                }
    }
?>

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

1 个答案:

答案 0 :(得分:1)

看起来你正在同一个循环中构建所有3个div - 这意味着它们将被赋予完全相同的数据。我不能完全理解你的细节,但你可能想要一个更接近的循环:

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

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