【发布时间】:2014-02-04 01:41:56
【问题描述】:
以下代码有问题。我想先从 DB 中选择并获取一些数组,然后根据数组中的每个元素从同一个表中选择。
问题 1:第二个 select 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>';
}
}
?>
【问题讨论】:
-
在查询中使用 mysql distinct cloumn
-
阅读无格式代码我的眼睛流血:P
-
@AwladLiton,帮助很大。我想知道你为什么不把它作为答案。
-
$
LibSection = array();在向其推送值之前会很好。另外 - 不需要 2 个循环。 -
@Yani 我如何杀死一个循环并仍然获得相同的结果?