これは以前の質問から構築されています: https://stackoverflow.com/questions/15534272/interpreting-the-day-of-a-datetime-and-putting-it-into-a-relevant-div
本質的に、私はこのテーブルを持っています:
Events Table
EventID | Start | End | Details
1 | 2013-03-18 09:00:00 | 2013-03-18 10:00:00 | Event is in room 6
2 | 2013-03-18 10:00:00 | 2013-03-18 11:00:00 | Event is in room 3
そしてこの列:
<div class="timetable-column-first">
<div class="timetable-row-start">Time</div>
<div class="timetable-row">9:00am</div>
<div class="timetable-row">10:00am</div>
</div>
<div class="timetable-column">
<div class="timetable-row-start">Monday</div>
<div class="timetable-row" id="mon-9"></div>
<div class="timetable-row" id="mon-10"></div>
</div>
必要な情報を取得するために、次の php クエリを作成しました。
function getEvents($weekNumStart, $weekNumEnd){
$mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME);
if (!$mysqli) {
die('There was a problem connecting to the database.');
}
else {
if ($weekNumEnd == '') {
$weekNumEnd = $weekNumStart;
}
$query = $mysqli->prepare("SELECT EventID, DAYOFWEEK(Start) AS wday, Events.Start, HOUR(Start) AS sHour, HOUR(End) AS eHour, Events.End, Details, StartName FROM Events, Week WHERE StartName >= '$weekNumStart' AND StartName <= '$weekNumEnd' AND Events.Start >= StartWeek AND Events.Start <=EndWeek;");
$query->execute();
$query->bind_result($eventID, $dayofweek, $startDateTime, $startHour, $endHour, $endDateTime, $weekName);
while ($query->fetch()){
echo $eventID, $dayofweek, $startDateTime, $startHour, $endHour, $endDateTime, $weekName;
}
}
$mysqli->close();
}
問題は、このクエリが、ヘッダーに含まれる添付の php ファイル /functions.php で実行されることです。
この行を変更する方法がわかりません:
echo $eventID, $dayofweek, $startDateTime, $startHour, $endHour, $endDateTime, $weekName;
各配列を元のindex.phpに返すため、jqueryを使用してdiv IDの列と行に挿入できます。たとえば、詳細は div で次のようになります。
<div class="timetable-column">
<div class="timetable-row-start">Monday</div>
<div class="timetable-row" id="mon-9">1 - Event is in room 6</div>
<div class="timetable-row" id="mon-10">2 - Event is in room 3</div>
</div>
現状では、私の関数は機能し、サーバーからのすべての個々のデータをエコー バックします。
index.php ページでは、次のように呼び出します。
getEvents($weekNumStart, $weekNumEnd);
エコーの代わりに配列を返すことを考えましたが、それは1行だけを返すのではないでしょうか? そして、リストを含むindex.phpページでそれを拾ったとき($the data here) = getEvents($weekNumStart, $weekNumEnd);
、最初のイベントだけが送り返されますか?