PHP for every 在 while 循环中从表中选择

标签 php mysql sql arrays

我在使用以下代码时遇到问题。我想首先从数据库中选择并获取一些数组,然后根据数组上的每个元素从同一个表中选择。

问题 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/

相关文章:

php - 未找到 Google 身份验证 API key

php - 如何通过 Laravel 更新外部样式表中的 CSS 属性?

mysql 查询超时杀死(pt-kill)

SQL Server 2008 : Multiple Queries in One Stored Procedure

mysql - SQL CONCAT 函数

sql - 我将如何在 SQL 的 case 语句中使用 datename

javascript - php 后端的 console.log

php - Laravel 覆盖组中间件

mysql - 次要关系的唯一性约束

mysql - SQL - If 语句看似忽略 'AND'