Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Câu hỏi về PHP, MySQL, CHỌN

Tôi nghĩ rằng cách tốt nhất để làm điều này là sử dụng mã PHP, thay vì sử dụng SQL.

Bạn có thể đạt được điều này bằng cách chỉ cần tạo một mảng kết hợp trong PHP, sử dụng trường "văn bản" làm khóa, chứa dữ liệu bạn muốn - và điền dữ liệu đó khi bạn lấy thông tin từ cơ sở dữ liệu.

Một ví dụ:

SQL:SELECT * FROM myTable

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

?>

Điều này sẽ cung cấp cho bạn một mảng như sau:

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

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

và như vậy.

Tôi hy vọng điều đó hữu ích.

CHỈNH SỬA:Người đăng đã yêu cầu trợ giúp về hiển thị.

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

/ * Ngoài ra, bạn có thể lặp lại từng mảng có trong $ info nếu bạn cần kiểm soát nhiều hơn * /

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận 5 ký tự cuối cùng của chuỗi với truy vấn mysql

  2. Ai đó đã hack cơ sở dữ liệu của tôi - làm thế nào?

  3. Làm cách nào để tôi có thể tìm nạp các cảnh báo sau các truy vấn node-mysql

  4. Phát triển cục bộ React w / full-stack (WAMP)

  5. Làm cách nào để nhận được kết quả trên 2 bảng