我写了以下代码。整个过程很好,直到我在PHP代码中添加了以下HTML。
echo "
<div class='fpd-product' title='$name'
data-thumbnail='$base_image_loc'>
";
如果我删除了这个HTML(div),它会从数据库中获取所有记录并回显它们,但是如果我添加这个HTML,它只打印循环中的最后一个输出。
请告诉我我在哪里弄错了。
<?php
$query ='select * from products '
. 'inner join product_description '
. 'on products.product_id= product_description.product_id';
$query_run= mysql_query($query);
while($query_fetch= mysql_fetch_array($query_run))
{
$product_id= $query_fetch['product_id'];
$price= $query_fetch['retail_price'];
$name= $query_fetch['name'];
echo $name;
//Image Query
$image_query= "select * from product_images where product_id=$product_id";
$image_query_run= mysql_query($image_query);
$base_image= mysql_fetch_array($image_query_run);
$base_image_loc= $base_image['images'];
//If i remove this echo it fetches all the records from database and echo them,
//otherwise it will only print the last record.
echo "
<div class='fpd-product' title='$name'
data-thumbnail='$base_image_loc'>
";
while($image_query_fetch= mysql_fetch_array($image_query_run))
{
$image_location= $image_query_fetch['images'];
$image_name= $image_query_fetch['name'];
}
}
?>
<img src="images/sweater/basic.png" title="Base" data-parameters='{"x": 332, "y": 311, "colors": "#D5D5D5,#990000,#cccccc", "price": 20}' />
<img src="images/sweater/highlights.png" title="Hightlights" data-parameters='{"x": 332, "y": 311}' />
<img src="images/sweater/shadow.png" title="Shadow" data-parameters='{"x": 332, "y": 309}' />
</div>
由于 塔哈
答案 0 :(得分:2)
您需要</div>
:
while($image_query_fetch= mysql_fetch_array($image_query_run))
{
$image_location= $image_query_fetch['images'];
$image_name= $image_query_fetch['name'];
}
echo "</div>";
答案 1 :(得分:1)
你的echo语句看起来应该是这样的
echo "<div class='fpd-product' title='".$name."' data-thumbnail='".$base_image_loc."'>";
div在哪里关闭? 或者你可以用这样的HTML
<div class='fpd-product' title='<?php echo $name; ?>' data-thumbnail='<?php echo $base_image_loc; ?>'>
并在while循环后关闭div
答案 2 :(得分:1)
更改您的echo语句
echo "<div class='fpd-product' title=".$name." data-thumbnail=".$base_image_loc.">";
并关闭div,代码的结尾
echo "</div>";
答案 3 :(得分:1)
要调试此类问题,您必须检查HTML源代码(在浏览器中右键单击 - &gt;查看源代码)。如果你看到那里的所有记录,那纯粹是用HTML的问题;这意味着您应该首先使用HTML验证器。