如果名称与产品ID匹配,PHP将显示文件夹中的图片

时间:2014-03-28 13:13:37

标签: php image

我正在我的网站上构建目录功能 - 我希望图像与应用程序名称和价格一起显示。根据找到的ApplicationID,从文件夹中调用图片。映像名称与存储在我的数据库中的ApplicationID匹配。 但是,在运行我的代码时,我收到以下错误: Fatal error: Cannot use object of type stdClass as array in /home/accountname/public_html/search.php on line 47 (being where I call the image). 有什么建议吗?

if(!$start)
        $start=0; 
        $getquery = mysqli_query($conn, "SELECT ApplicationID, ApplicationName, ApplicationDescription, App_cost FROM apps WHERE ApplicationName LIKE '%$search%' OR ApplicationDescription LIKE '%$search%' LIMIT $start, $per_page;");


    while($row = $getquery->fetch_object()){
        $_GET['search']=$_POST['search'];
        echo "<div class=\"col-6 col-sm-6 col-lg-4\">";
        echo '<form method="post" action="cart_update.php">';           
        echo"<div id='product'><a href='appproduct.php?id=$row[1]'><img src='product_images/$row[1].jpg' alt='Product picture'/>";
        echo '<h2>'.$row->ApplicationName.'</h2>';
        if($row->App_cost=="0.00"){ 
            echo '<p>Free</p>';
        }else{
           echo '<p>'.$row->App_cost.'</p>';
        }
        echo '<button class="add_to_cart">Add To Cart</button>';
        echo '<input type="hidden" name="product_code" value="'.$row->ApplicationID.'" />';
        echo '<input type="hidden" name="type" value="add" />';
        echo '<input type="hidden" name="return_url" value="'.$current_url.'" />';
        echo '</form></div>';
        }  
    }
}

2 个答案:

答案 0 :(得分:1)

这是错误的一行

echo"<div id='product'>      
<a href='appproduct.php?id=$row[1]'>
  <img src='product_images/$row[1].jpg' alt='Product picture'/>";

您正在将数据作为对象提取并使用数组生成错误

将其替换为DB字段名称

$row[1] 

$row->colname_for_image

答案 1 :(得分:0)

$ row是一个对象,但您尝试将其用作数组:$row[1]

如果您的图片与您的应用ID匹配,则应使用该代码:

echo '<div id="product"><a href="'appproduct.php?id=$row->ApplicationID.'"><img src="product_images/'.$row->ApplicationID.'.jpg" alt="Product picture" />';