我正在尝试将项目从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;
}
}
?>
任何帮助都会很棒。谢谢。
答案 0 :(得分:1)
看起来你正在同一个循环中构建所有3个div - 这意味着它们将被赋予完全相同的数据。我不能完全理解你的细节,但你可能想要一个更接近的循环:
<?php
while($row = $result->fetchObject())
{
echo '<div id="' . $row->data . '" >';
//more stuff
echo '</div>';
}
这将为结果集中的每一行创建一个DIV。