0

次のphpクエリを使用して、mySQLからこのJSON結果を取得しています。

/* grab the posts from the db */
 $query = "SELECT * FROM ko_timetable";
 $result = mysql_query($query,$link) or die('Errant query:  '.$query);

 /* create one master array of the records */
 $posts = array();

if(mysql_num_rows($result)) {

while($post = mysql_fetch_assoc($result)) {
      $posts[] = array('post'=>$post);
    } 
}

JSON 結果:

post =         {
"CLASS_LEVEL" = "Intro/General";
"CLASS_TYPE" = "Muay Thai";
"DAY_OF_WEEK" = Sunday;
ID = 19;
"ORDER_BY" = 5;
TIME = "1:00pm - 2:30pm";
};
}
{
post =         {
"CLASS_LEVEL" = "General/Intermediate/Advanced";
"CLASS_TYPE" = "Muay Thai Spar - Competitive";
"DAY_OF_WEEK" = Sunday;
ID = 27;
"ORDER_BY" = 5;
TIME = "6:00pm - 9:00pm";
};
},
{
post =         {
"CLASS_LEVEL" = "Fighters/Advanced/Intermediate";
"CLASS_TYPE" = "Fighters Training";
"DAY_OF_WEEK" = Monday;
ID = 1;
"ORDER_BY" = 1;
TIME = "9:30am - 11:00pm";
};

しかし、このクエリを変更して、「DAY_OF_WEEK」でこの結果グループを取得するにはどうすればよいですか。以下の例を参照してください。ご協力ありがとうございます。

{
Sunday =         {
"CLASS_LEVEL" = "Intro/General";
"CLASS_TYPE" = "Muay Thai";
"DAY_OF_WEEK" = Sunday;
ID = 19;
"ORDER_BY" = 5;
TIME = "1:00pm - 2:30pm";
};
{
"CLASS_LEVEL" = "General/Intermediate/Advanced";
"CLASS_TYPE" = "Muay Thai Spar - Competitive";
"DAY_OF_WEEK" = Sunday;
ID = 27;
"ORDER_BY" = 5;
TIME = "6:00pm - 9:00pm";
};
},
{
Monday =         {
"CLASS_LEVEL" = "Fighters/Advanced/Intermediate";
"CLASS_TYPE" = "Fighters Training";
"DAY_OF_WEEK" = Monday;
ID = 1;
"ORDER_BY" = 1;
TIME = "9:30am - 11:00pm";
};

ありがとう

4

2 に答える 2

2

このように DAY_OF_WEEK を配列インデックスとして使用できます。

while($post = mysql_fetch_assoc($result)) {
      $posts[$posts["DAY_OF_WEEK"]] = array('post'=>$post);
    }

ただし、例で示した配列のインデックスは曜日の名前であり、前の日曜日の結果は今週の日曜日などに置き換えられることに注意してください。このように、キーを重複した名前に置き換えることを避けるために、カウント変数を使用することもできます。

$count = 1;
while($post = mysql_fetch_assoc($result)) {
      $posts[$posts["DAY_OF_WEEK"].$count] = array('post'=>$post);
      $count++;
    }
于 2012-05-04T09:56:39.430 に答える
1

これを変える:

while($post = mysql_fetch_assoc($result)) {
    $posts[ $post['DAY_OF_WEEK'] ] = $post;
}
于 2012-05-04T08:42:39.717 に答える