我使用while循环来回显成员数据以显示每个成员的列表。然后我使用Jquery根据从items
字段回显的值来过滤列表。 (即items
字段可能包含“item1 item3 item10”。这很有效!!!这是我现在的代码。
<?php
$area = "Richmond";
$db_connect = @mysqli_connect("localhost", "user", "password","database");
if (mysqli_connect_errno($db_connect)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = @mysqli_query($db_connect, "SELECT * FROM database WHERE territories LIKE '%$area%'");
if (!$result){
echo ("<p>Error performing listing query:" . mysql_error() . "</p>");
}
$items = array();
while ($row = mysqli_fetch_array($result)){
// Jquery uses these "$row["items"]" for it's filter
$items[] = "<li class=\"services " . $row["items"] . "\">
// more code here used to construct member's listing
}
?>
//In the html, I echo each member's completed listing...
<?php echo $items[0]; echo $items[1]; echo $items[2]; etc... ?>
如何将回声限制设置为items
字段中的12个重复值? items
中的每个值只有12个可用列表。所以我只希望每个值的前12个都包含在echo中。如果成员取消,则下一成员的items
值将自动回显。我希望这是有道理的! :d
[编辑]为了更清晰,让我们说“item1 item2”的12个成员列表(两者都在items
字段中)。使用当前代码,每个列表的html将显示为<li class="services item1 item2"></li>
。
然后第13个成员列出了他的“item1 item2 item3”服务。由于“item1”和“item2”存在12次,因此只有item3应该回显。此新会员的列表应为<li class="services item3"></li>
。如果前一个成员取消,则会回显所有三个项目。
我想象if COUNT(items=%item1%) <= 12)
之类的东西或者类似的东西......我似乎无法用我的当前设置来GROUP BY
或DISTINCT
。
答案 0 :(得分:0)
在数据库调用中,您可以使用GROUP BY和DISTINCT仅为该值返回一行。此外,如果您要在SELECT中添加一个检查,无论您的取消标记是什么,这将删除所有被取消的成员被撤回。像
这样的东西SELECT DISTINCT * FROM Member WHERE IsActive = 'true' LIMIT 12
如果没有更多信息,这是我能想到的最好的信息。
答案 1 :(得分:0)
我终于明白了。我要做的第一件事是为每个项目创建一个不同的列。然后是计算每行中每个项目的问题,只允许前十二个。我添加了以下内容:
$item1cnt = 0; //I added this section before the while loop to start the count at "0" for each item
$item2cnt = 0;
$item3cnt = 0;
$item4cnt = 0;
$item5cnt = 0;
$item6cnt = 0;
$item7cnt = 0;
$item8cnt = 0;
$item9cnt = 0;
$item10cnt = 0;
$item11cnt = 0;
$item12cnt = 0;
//And this inside the while loop to return only the first 12 of each item
if($row["item1"]!=""){ $item1cnt++; if($item1cnt > 12){$row["item1"]="";}}
if($row["item2"]!=""){ $item2cnt++; if($item2cnt > 12){$row["item2"]="";}}
if($row["item3"]!=""){ $item3cnt++; if($item3cnt > 12){$row["item3"]="";}}
if($row["item4"]!=""){ $item4cnt++; if($item4cnt > 12){$row["item4"]="";}}
if($row["item5"]!=""){ $item5cnt++; if($item5cnt > 12){$row["item5"]="";}}
if($row["item6"]!=""){ $item6cnt++; if($item6cnt > 12){$row["item6"]="";}}
if($row["item7"]!=""){ $item7cnt++; if($item7cnt > 12){$row["item7"]="";}}
if($row["item8"]!=""){ $item8cnt++; if($item8cnt > 12){$row["item8"]="";}}
if($row["item9"]!=""){ $item9cnt++; if($item9cnt > 12){$row["item9"]="";}}
if($row["item10"]!=""){ $item10cnt++; if($item10cnt > 12){$row["item10"]="";}}
if($row["item11"]!=""){ $item11cnt++; if($item11cnt > 12){$row["item11"]="";}}
if($row["item12"]!=""){ $item12cnt++; if($item12cnt > 12){$row["item12"]="";}}