我遇到以下代码时遇到问题。我想首先从DB中选择并得到一些数组,之后根据数组中的每个元素从同一个表中选择。
问题1:第二个选择while循环只返回表中的一行,因为有多个行匹配我正在选择的行。我想为第一个while循环中的每个返回行返回五行。
Q.1我的代码出了什么问题?
问题二:我正在从具有重复内容的列构建数组。例如 返回的结果可能是:
[Array]
1.John
2.Cane
3.Mary
4.John.
现在当john重复时,我得到的结果与在'1'处返回的结果相同。我知道这是预料之中的。
Q2:我如何避免连续选择相同的内容?
注意:我知道已弃用的mysql。
PHP代码
<?php
require_once 'php/db_conx.php';
$log = mysql_query("SELECT * FROM ads WHERE section != ''") or die(mysql_error());
while ($row = mysql_fetch_array($log)) {
$LibSection[] = $row['section'];
}
foreach ($LibSection as $Section) {
$log2 = mysql_query("SELECT * FROM ads WHERE section = '$Section' limit 5") or die(mysql_error());
include_once 'php/Random_color.php';
while ($row = mysql_fetch_array($log2)) {
echo '<a class="LibSectOpen">
<span style="display:none" class="SectionName">' . $Section . '</span>
<div class="LibrarySects"><div class="LibrarySectsHeader">' . $Section . '</div><div class="LibrarySectsShelf">
<div class="LibrarySectsShelf_Book" style="background-color:' . $Color . '" title="Author: ' . $row['bbookauthor'] . '">' . $row['bbookname'] . '</div></div></div></a>';
}
}
?>
答案 0 :(得分:0)
答案 1 :(得分:0)
您需要选择不同的值,因此请使用它:
SELECT DISTINCT * FROM Table_NAME where condition=value;
可能的解决方案是W3schools.com- distinct example