sql >> データベース >  >> RDS >> Mysql

PHP、MySQL、SELECTの質問

    これを行う最良の方法は、SQLではなくPHPコードを使用することだと思います。

    これを実現するには、PHPで連想配列を作成し、「テキスト」フィールドをキーとして使用して、必要なデータを含め、データベースから情報を取得するときにデータを入力します。

    例:

    SQL:SELECT * FROM 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 . ' - ';
        }
    }
    


    1. エラー:クラスCI_DB_mysql_resultのオブジェクトを文字列に変換できませんでした

    2. このスレッドローカルFlask-SQLAchemyセッションにより、MySQLサーバーがなくなったというエラーが発生しますか?

    3. MySQLで列タイプTIMESTAMPをDATETIMEに変更するとどうなりますか?

    4. ステートメントにWHEREがあるのに、ストアドプロシージャが「データなし-ゼロ行がフェッチ、選択、または処理されました」というエラーをスローするのはなぜですか?