2013-05-18 33 views
-2

我開始一個網站,可以查詢我的所有產品在我的網頁上顯示。在左側欄中它也顯示顏色和價格這樣到查詢邊欄的IP地址

COLOR

黃色(3)

白色(9)

黃褐色(1)

紅色( 3)

紫色(1)

粉(7)

橙(1)

多(1)

綠色(8)

棕色(1)

藍色(3)

黑色(3)

價格

在$ 25(4)

$ 25- $ 50(4)

2/$ 40(22)

2/$ 50(10)

3/$ 33(1)

所以我用COUNT和GROUP BY來顯示它。我想點擊其中一種顏色或其中一種價格,它會縮小產品範圍。所以說,我點擊黑色的,我希望它能夠查詢只是3個黑色產品

下面是我對所有的產品在表

<?php 
$dynamicList =""; 
$sql = mysql_query("SELECT * FROM test2 LIMIT"); 
$productCount = mysql_num_rows($sql); 
if ($productCount > 0) { 
    while($row = mysql_fetch_array($sql)){ 
     $product_name = $row["product_name"]; 
     $image_url = $row["image_url"]; 
     $category = $row["category"]; 
     $subcategory = $row["subcategory"]; 
     $sub_subcategory = $row["sub_subcategory"]; 
     $price = $row["price"]; 
     $color = $row["color"]; 
     $page_url = $row["page_url"]; 
    $dynamicList .= '<div id="products"> 

    <table width="24%" height="339" border="0" align="left" cellpadding="0"> 
    <tr> 
    <td height="150" align="center" valign="bottom"><a href="'.$page_url.'"  target="_blank"><img src="'.$image_url.'" Hspace="5" Vspace="10" width="140" height="210" /></a></td> 
    </tr> 
    <tr> 
    <td height="90" align="center" valign="top"><p><a href="'.$page_url.'" target="_blank">'.$product_name.'<br /><b><font size="3"><font color="#FF0000">'.$price.'</font> </font></b></a></p></td> 
    </tr> 
    </table></div>'; 


} 
} else { 
$dynamicList = "<b>There are currently no items</b>"; 
} 
?> 

PHP和這個是對的PHP顏色和價格上的左側欄,我希望能夠展示給

<?php echo 
$sidebar_color =""; 
$sql = mysql_query("SELECT *,COUNT(color) FROM test2 GROUP BY color ORDER BY color   DESC"); 
$productCount = mysql_num_rows($sql); 
if ($productCount > 0) { 
while($row = mysql_fetch_array($sql)){ 

    $color = $row["color"]; 

    $sidebar_color .= '<div id="sidebar"><p><font size="-2"><a href="index.php?'.$color.'">'.$color.' ('.$row["COUNT(color)"].')</a> 
        </font></p></div>'; 
} 
} 
?> 
<?php echo 
$sidebar_price =""; 
$sql = mysql_query("SELECT *,COUNT(sidebar) FROM test2 GROUP BY price ORDER BY price ASC"); 
    $productCount = mysql_num_rows($sql); 
if ($productCount > 0) { 
    while($row = mysql_fetch_array($sql)){ 

    $price = $row["price"]; 

    $sidebar_price .= '<div id="price"><p><font size="-2"><a href="index.php?'.$price.'">'.$price.' ('.$row["COUNT(price)"].')</a> 
      </font></p></div>'; 
} 
} 
?> 

喜布賴恩感謝您的評論鏈接。我無法讓它工作。它不斷出現錯誤。另外這是代碼,當我點擊說黑我又需要顯示$ dynamicList只是與是黑色的產品它顯示我的網頁上

<div id="side" 
<ul> 
<p>_____________</p> 
<p><font size="3"><b>COLOR</b></font></p> 
<font size="-2"><li><?php echo $sidebar_color; ?></li> 
</font></ul> 

    <ul> 
<p>_____________</p> 
<p><font size="3"><b>PRICE</b></font></p> 
<font size="-2"><li><?php echo $sidebar_price; ?></li> 
</font></ul> 


</div> 
    </td> 


    <td width="80%" valign="top"><p> 

    <?php echo $dynamicList; ?><br /> 


    </p></td> 

左右。

我希望這一切對你有意義。我對此很新。所以,任何幫助非常感謝。

+0

是否有任何人回答這個問題的代價? – samayo

回答

1

替換這一行(與同價位)

<a href="index.php?'.$color.'"> 

<a href="index.php?color='.$color.(isset($_GET['price'])?'&price='.$_GET['price']: '').'"> 

那麼你可以使用$ _GET [ '顏色']和$ _GET [ '價格']設置您的查詢顯示產品即...

$options = array(); 
(isset($_GET['price']) ? $options[] = "price='".mysql_real_escape_string($_GET['price'])."'" : ''); 
(isset($_GET['color']) ? $options[] = "color='" mysql_real_escape_string($_GET['color'])."'" : ''); 
$query = "SELECT * FROM `table` WHERE ".implode(' AND ', $options); 

也FYI的MySQL函數應替換爲mysqli