Özel diziye MySQL Sorgu Verileri Biçimlendirme

2 Cevap php

Ben aşağıdaki veri benim veritabanı sorgudan dönen adres:

+---------------+-----------+------------------+--------------+-------+
| district_name | school_id | school_name      | section      | score |
+---------------+-----------+------------------+--------------+-------+
| My ISD        |        11 | My First School  | English      |    20 |
| My ISD        |        11 | My First School  | Math         |    23 |
| My ISD        |        11 | My First School  | Reading      |    24 |
| My ISD        |        11 | My First School  | Science      |    23 |
| My ISD        |        12 | My Second School | English      |    11 |
| My ISD        |        12 | My Second School | Math         |    19 |
| My ISD        |        12 | My Second School | Reading      |    22 |
| My ISD        |        12 | My Second School | Science      |    26 |
+---------------+-----------+------------------+--------------+-------+

Ben okul puanları bir tablo kolayca çıkış bir diziye bu verileri koymak gerekir:

School                  English  Math  Reading Science
-------------------------------------------------------
My First School         20       23    24      23
My Second School        11       19    22      26

Ben bu başarır bir diziye bu verileri biçimlendirme sorun yaşıyorum. İdeal yapı olacaktır:

array(
  $schoolName => array(
    'results' => array(
       'section' => $section_name
       'score' => $score
    ),
  ),
);

Birkaç yaklaşımlar denedim ama onları düzgün çalışması için alınamıyor.

2 Cevap

while ($row = mysql_fetch_array($query)) { //you can define the query, right?
    $array[$row['school_name']]['results'][$row['section']] = $row['score'];
}

Ben size veritabanı kurdunuz şekilde desteklemese de, Sana bunun üzerine bir konferans vermek için gitmiyorum. Ben bu okul projesi veya bir şey kabul ediyorum.

$table_rows = array();
while ($row = mysql_fetch_assoc($mysql_result)) {
  $school_name = $row['school_name'];
  $table_rows[$school_name]['results'][$row['section']] = $row['score'];
  // adding the other stuff to $table_rows...
}

Bu yardımcı olur umarım.