sql >> Databasteknik >  >> RDS >> Mysql

PHP, MySQL, SELECT-fråga

Jag tror att det bästa sättet att göra detta är i PHP-koden, snarare än i SQL.

Du kan uppnå detta genom att helt enkelt skapa en associativ array i PHP, använda "text"-fältet som en nyckel, som innehåller den data du vill ha - och fylla i den när du hämtar information från databasen.

Ett exempel:

SQL:SELECT * FROM myTable

PHP-kod:

<?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'];
}

?>

Detta ger dig en array enligt följande:

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

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

och så vidare.

Jag hoppas att det är till hjälp.

EDIT:Affischen bad om hjälp med visning.

<?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']);
}

/* Alternativt kan du loopa varje array som finns i $info om du behöver mer kontroll */

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 . ' - ';
    }
}


  1. SSMS-resultat till rutnät - CRLF bevaras inte i kopiera/klistra in - några bättre tekniker?

  2. PHPMyAdmin tvingar använda ut8mb4 som standardsortering

  3. MySQL-antal i samma tabell inklusive nollräkningsvärden

  4. SQLalchemy begår inte ändringar vid inställning av roll