我在使用以下代码时遇到问题。我想首先从数据库中选择并获取一些数组,然后根据数组上的每个元素从同一个表中选择。
问题 1:第二个 select while 循环仅从表中返回一行,其中有不止一行与我选择的行匹配。我想为第一个 while 循环中返回的每个行返回五行。
问题.1 我的代码有什么问题?
问题二:我正在从具有重复内容的列构建一个数组。例如 返回的结果可能是:
[Array]
1.John
2.Cane
3.Mary
4.John.
现在,当 john 重复时,我得到与“1”处返回的结果相同的结果。我知道这是预料之中的。
问题2:如何避免连续选择相同的内容?
注释:我知道 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>';
}
}
?>
最佳答案
您需要选择不同的值,因此请使用它:
SELECT DISTINCT * FROM Table_NAME where condition=value;
可能的解决方案是W3schools.com- distinct example
关于PHP for every 在 while 循环中从表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21533554/