目前,我能够根据类别显示产品所需的效果。但是我觉得我的方式不是最好的方式。在产品页面上,产品顶部和底部之间的间隙为HERE。我认为差距是由于我的PHP代码中的错误而不是我正在布局html的方式。任何帮助将不胜感激。
所以要澄清我想知道所使用的代码是否是实现这一目标的正确方法,如果有人能够发现为什么差距在那里是完美的。
只是为了澄清它对css来说是一个挑战。没有申请保证金,我希望黑线完全消失。它应该都是白色的。
谢谢你,祝你新年快乐。
PHP代码
<?php
function get_posts($id = null, $cat_id = null) {
$posts = array();
$query ="SELECT `products`.`id` AS `name` , `products_cat`.`id` AS `category_id` , `products`.`name` AS `title` , `description` , `price` , `sale` , `picture`
FROM `products`
INNER JOIN `products_cat` ON `products`.`prod_id` = `products_cat`.`id` ";
if ( isset($id) ) {
$id = (int) $id;
$query .= " WHERE `products`.`id` = {$id}";
}
if ( isset($cat_id) ) {
$cat_id = (int) $cat_id;
$query .= " WHERE `products_cat`.`id` = {$cat_id}";
}
$query .= " ORDER BY `products`.`price` DESC";
$query = mysql_query($query);
echo mysql_error();
while ( $row = mysql_fetch_assoc($query) ) {
$posts[] = $row;
}
return $posts;
}
function category_exists($field, $value) {
$field = mysql_real_escape_string($field);
$value = mysql_real_escape_string($value);
$query = mysql_query("SELECT COUNT(1) FROM `products_cat` WHERE `{$field}` = '{$value}'");
echo mysql_error();
return ( mysql_result($query, 0) == '0' ) ? false : true;
}
?>
HTML CODE
<?php
include("../script/dbconnect.php");
include("../script/get_product.php");
$posts = get_posts(null, $_GET['id']);
?>
<div style="width:100%; height:150px; background-color:white;"><span style="font-family:saxMonoRegular; letter-spacing:2px; display:block; font-size:4.5em; text-align:center; padding-top:15px;"> Blog </span></div>
<div class="link" style="width:100%; background-color: white">
<?php
foreach ( $posts as $post ) {
if ( ! category_exists('name', $post['name']) ) {
$post['name'] = 'Uncategorised';
}
?>
<ul class='featured'>
<li class='headhighlight'><?php echo $post['title']; ?></li>
<li class='pricehigh'><?php echo $post['price']; ?></li>
<li class='imagefeat'><img class='imagelink' src='<?php echo $post['picture']; ?>' alt='$name'></li>
</ul>
<?php
}
?>
</div>
答案 0 :(得分:1)
我不确定我是否理解正确,但我会说它更像是CSS的问题。
尝试:
div.link {
padding: 0px;
}
ul.featured {
display: block;
width: 200px;
margin: 0px;
}