データベースからの配列が取り込まれるhtml選択ボックスがあります。現在の日付とともにデータベース内の新しいテーブルに書き込まれた選択ボックスを含む、このテーブル内のすべてのデータ。ユーザーがクラスに戻ったときに、選択ボックスを、ユーザーが前日または 1 週間前に送信した最後のエントリにデフォルト設定する必要があります。必要な場所にかなり近いクエリを取得できますが、それを選択ボックスに渡す限り、どこから始めればよいかわかりません。
これは、php からのエコーである私の選択ボックスです。
<td>
<select name="movement[]" width=200>
<option>Select...</option>
<option>'. ($wc['mv_00']). '</option>
<option>'. ($wc['mv_01']). '</option>
<option>'. ($wc['mv_02']). '</option>
<option>'. ($wc['mv_03']). '</option>
<option>'. ($wc['mv_04']). '</option>
</select></td>
これは、エコーアウトされる配列全体のコードです。
if(empty($workout_class) === false)
{
foreach($workout_class as $wc){
if ($wc['pagenum'] !== $pagenum) continue 1;
echo '<tr>
<td><input type="hidden" name="client_id[]" value="'.($wc['client_id']).'">
<input type="hidden" name="first_name[]" value="'.($wc['first_name']).'">'. ($wc['first_name']).'
<span><input type="hidden" name="nickname[]" value="'.($wc['nickname']).'">('. ($wc['nickname']).')</span>
<span><input type="hidden" name="last_name[]" value="'.($wc['last_name']).'">'. ($wc['last_name']).'</span>
</td>
<td><input type="hidden" name="order[]" value="'.($wc['order']).'">'. ($wc['order']). '</td>
<td>
<select name="movement[]" width=200>
<option>Select...</option>
<option>'. ($wc['mv_00']). '</option>
<option>'. ($wc['mv_01']). '</option>
<option>'. ($wc['mv_02']). '</option>
<option>'. ($wc['mv_03']). '</option>
<option>'. ($wc['mv_04']). '</option>
</select></td>
<td><input type="hidden" name="rep_set_sec[]" value="'.($wc['rep_set_sec']).'">'. ($wc['rep_set_sec']). '</td>
<td><input type="hidden" name="rest[]" value="'.($wc['rest']).'">'. ($wc['rest']). '</td>
<td>00</td>
</tr>';
} // foreach($data_array
これはphpで行うことができますか、それともjsの方が良いでしょうか?
OK、クラス、クライアント、注文に基づいて入力された最後の動きを取得する変数は次のとおりです。
$recent_movement = recent_movement($class_id, $client_id, $order);
これは、MAX(date) に基づいて db からの動きの配列を返す私のクエリです。
function recent_movement($class_id, $client_id, $order){
$class_id = (int)$class_id;
$client_id = (int)$client_id;
$query = mysql_query("SELECT `movement` FROM `completed_movements` WHERE `class_id` = '$class_id' AND `client_id` = '$client_id' AND `order` = '$order' AND
`date` = (SELECT MAX(`date`) FROM `completed_movements` WHERE `order` = '$order')");
$last_movement = mysql_fetch_array($query);
return $last_movement['movement'];
}
これは、私の $recent_movement が返すものに基づいて select="selected" を設定するように選択メニューに指示する方法がわからない場所です。