電子書籍の厳選無料作品が豊富!

初めて質問させて頂きます。うまく言葉に出来てないかもしれませんがよろしくお願い致します。
現在スケジュール管理をPHPとSqliteで作成しています。
yotei.phpでDBのデータを表示(HTMLのTABLE)し、予定の追加・更新をする場合は該当の日付をクリックするとrequire_onceでtoroku.phpを読込ます。toroku.phpでは更新処理か新規登録かを確認し、<form action="add.php?id='.$id.'&ymd='.$ymd.'" method="POST">にて登録・削除・リセットの各ボタンにあわせてのDB処理を行っています。
<?php
session_start();
$link = sqlite_open('yotei.db', 0666, $sqliteerror);
?>
~一部省略~
<TABLE BORDER=1 WIDTH="100%" CELLPADDING="2" CELLSPACING="0">
<TBODY><TR>
<TD>日付</TD>
<TD>曜日</TD>
<TD>予定時間</TD>
<TD>作業内容</TD></TR>
<?php
//データ表示
$ymd = date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy));
$i = 0;
while ($ymd <= $to_date) {
$sql = "SELECT * FROM timetbl where (id=$sid and ymd=$ymd)";
$result = sqlite_query($link, $sql, SQLITE_BOTH);
if ($rows = sqlite_fetch_array($result)) {
print('<TR>');
print('<TD WIDTH="5%" ALIGN="center" NOWRAP><A href="yotei.php?ymd='.date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy)).'">'.date('m/d', mktime(0, 0, 0, $mm, $dd, $yy)).'</A></TD>');
print('<TD WIDTH="5%" ALIGN="center" NOWRAP bgcolor="'.$chk['color'].'">'.$chk['youbi_m'].'</TD>');
~一部省略~
} else {
print('<TR>');
   print('<TD WIDTH="5%" ALIGN="center" NOWRAP><A href="yotei.php?ymd='.date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy)).'">'.date('m/d', mktime(0, 0, 0, $mm, $dd, $yy)).'</A></TD>');
print('<TD WIDTH="5%" ALIGN="center" NOWRAP bgcolor="'.$chk['color'].'">'.$chk['youbi_m'].'</TD>');
~一部省略~
print('</TR>');
}
$dd = $dd + 1;
$ymd = date('Ymd', mktime(0, 0, 0, $mm, $dd, $yy));
$i = $i + 1;
if ($i > 30) {
break;
}
}
('<TD WIDTH="5%" ALIGN="center"> </TD>');
~一部省略~
?>
</TBODY></TABLE></DIV>
<?php
sqlite_close($link);
if (!isset($_GET['ymd'])){
  PRINT('</BODY>');
PRINT('</HTML>');
exit;
}
?>
<?php require_once("toroku.php"); ?>
</tbody></table></div>
toroku.phpでは、該当の日付のDBのデータを読み退避させてyotei.phpと同じ様に1か月分を再表示させてますが、yotei.phpの表示とtoroku.php再表示の表が重なって表示されてしまいます。
申し訳ありませんが、ご教示頂けませんでしょうか?

A 回答 (1件)

いまひとつ質問の意味が分かりませんが・・・>再表示の表が重なる


1回のリクエストで2回取得を行っているのが問題?
処理フローを整理してはいかがでしょう。仮に1ファイルで書くなら

if (登録トリガ) {
 //登録処理
 //header('Location: 成功したら一覧か詳細に');
} else if (更新トリガ) {
 //更新処理
 //header('Location: 成功したら一覧か詳細に');
} else if (詳細トリガ) {
 //指定データを表示
} else {
 //一覧を表示
}
    • good
    • 0
この回答へのお礼

ありがとうございます!
教えて頂いたフローで考え直して再度挑戦します。
上手く言えなかった質問に丁寧に回答を頂き本当に感謝です。
もっと勉強します。
本当にありがとうございましたm(_ _)m

お礼日時:2008/11/18 15:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!