sql >> Databáze >  >> RDS >> Mysql

PHP, MySQL, otázka SELECT

Myslím, že nejlepší způsob, jak to udělat, by byl v kódu PHP, spíše než v SQL.

Můžete toho dosáhnout jednoduchým vytvořením asociativního pole v PHP pomocí pole „text“ jako klíče, které obsahuje požadovaná data – a jeho naplněním, když vytahujete informace z databáze.

Příklad:

SQL:SELECT * FROM myTable

PHP kód:

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

?>

Získáte následující pole:

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

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

a tak dále.

Doufám, že vám to pomůže.

EDIT:Plakát požádal o pomoc se zobrazením.

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

/* Případně můžete zacyklit každé pole obsažené v $info, pokud potřebujete větší kontrolu */

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. Jak používat ON DUPLICATE KEY UPDATE v MySQL bez UNIKÁTNÍHO indexu nebo PRIMÁRNÍHO KLÍČE?

  2. spojil řádky tabulky do sloupců s názvy sloupců z původních řádků

  3. Pokud existuje způsob, jak mohu vnitřně připojit tabulku MS SQL k tabulce MySql v jednom dotazu pomocí MySql?

  4. Potřebuji změnit formát data pomocí php