gpt4 book ai didi

PHP、MySQL、SELECT 问题

转载 作者:行者123 更新时间:2023-11-29 14:49:48 25 4
gpt4 key购买 nike

您好,我有一个看起来很复杂的问题。但我会尽力解释得更好。这是一个逻辑问题。我有一个数据库表。该数据库表(我们称之为表 A)包含一些字符串。字符串由这些行组成:

ID (auto increment)
Text
Date
Time
Type
IDAccount.

现在其中一些字符串是相等的。我需要选择所有相等的字符串并将它们放在一个结果中。

所以代码的逻辑是:

SELECT * from Table A WHERE mySQL find stringS with same Text, Date and Time. 

然后仅“回显”一次(因此不适用于任何字符串,因为它们完全相等):文本日期时间。 (这将是一个 HTML DIV)

然后在这些字符串中,我们还有一些具有不同值的其他行。

Type
IDAccount.

PHP 必须为这些行(类型、IDAccount)显示上面 EQUAL 字符串找到的所有不同值。

所以最终的 DIV 是:

Text (one time)
Date (one time)
Time (one time)
Type (every different value that is found will be shown)
IDAccount (every different value that is found will be shown).

我知道这很难理解。我希望有人明白我的意思。最重要的是“如何对 mySQL 说 SELECT 所有与行 Text 、 Date 和 Time 相等的字符串并在最终 DIV 中显示 1 个结果,然后如何显示所有这些字符串的不相等值(Type 、IDAccount)并在同一个最终 DIV 中显示所有这些”。

任何帮助将不胜感激!!

我们来玩一下吧=D

最佳答案

我认为最好的方法是在 PHP 代码中,而不是在 SQL 中。

您可以通过简单地在 PHP 中创建一个关联数组,使用“文本”字段作为键来实现此目的,其中包含您想要的数据 - 并在从数据库中提取信息时填充它。

一个例子:

SQL:从 myTable 中选择*

PHP 代码:

<?php

// Connect to MySQL database
$result = mysql_query($sql_query_noted_above);
$stringsInfo = array();
while ($row = mysql_fetch_assoc($result))
{
if (!isset($stringsInfo[$row['text']]))
{
$stringsInfo[$row['text']] = array('types' => array(), 'idAccounts' => array());
}

$stringsInfo[$row['text']]['types'][] = $row['type'];
$stringsInfo[$row['text']]['idAccounts'][] = $row['idAccount'];
}

?>

这将为您提供一个数组,如下所示:

'myTextString' => 'types' => 'type1', 'type2', 'type3'
'idAccounts' => 'account1', 'account2'

'anotherTextString' => 'types' => 'type2', 'type4'
'idAccounts' => 'account2', 'account3'

等等。

希望这对您有所帮助。

编辑:海报请求有关显示的帮助。

<?php

foreach ($stringsInfo as $string => $info)
{
echo $string . '<br />';
echo 'Types: ' . implode(', ', $info['types']); // This will echo each type separated by a comma
echo '<br />';
echo 'ID Accounts: ' . implode(', ', $info['idAccounts']);
}

/* 或者,如果需要更多控制,您可以循环 $info 中包含的每个数组 */

foreach ($stringsInfo as $string => $info)
{
echo $string . '<br />';
echo 'Types: ';
foreach ($info['types'] as $type)
{
echo $type . ' - ';
}
echo '<br />';
echo 'ID Accounts: '
foreach ($info['idAccounts'] as $idAccount)
{
echo $idAccount . ' - ';
}
}

关于PHP、MySQL、SELECT 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6016319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com