0

私は高低を検索し、多くの答えを見つけましたが、私の状況に合わせて切り詰められたものは何もありません. 私は数人の従業員だけのために非常に単純なタイムシート (PHP/MYSQL) に取り組んでいます。「場所」「説明」「時間」「タイムアウト」を入力するフィールドはわずかです。私がする必要があるのは、タイムインとタイムアウトを取り、何時間かを見つけることです。表示目的で、strtotime() 関数から作成された値が 30 分ごとに増加するタイムアウト/タイムアウトのドロップダウン リストを使用しています。

echo '<select name="timein">';
$start=strtotime('7:00am');
$end=strtotime('8:00pm');
for ($i=$start;$i<=$end;$i+=1800)
{echo '<option value="'.date('g:i a',$i).'">'.date('g:i a',$i).'</option>';}
echo '</select>';

それらをデータベースに挿入しようとすると、間違った時刻値エラーが発生します (timein を varchar にする必要がありますか?) それでも、timein (午前 9 時) タイムアウト (午後 2 時) を取得して 5 時間を取得する方法が必要です。それから。

mysql_query("INSERT INTO sheet(employee, date, location, description, timein, timeout)
VALUES('$employee', NOW(), '$location', '$description', '$timein', '$timeout')")or die(mysql_error());
  • 従業員 varchar(30)
  • 日付 日付
  • 場所のテキスト
  • タイムインタイム
  • タイムアウト時間
  • 使用時間 int(10)
  • 合計時間 int(10)
4

2 に答える 2

0

あなたの日付列は次のようなものを期待しています'0000-00-00' が、mysql 関数は代わりにtryのnow()ようなタイムスタンプを返します。'0000-00-00 00:00:00'CURDATE()

また、日付形式は、mysql が期待する時間に対して正しくありません。各オプションの値を作成するときに'00:00:00' 試してください。date("H:i:s", $i)テキスト部分には引き続き日付形式を使用できます。(ユーザーに表示されるテキスト。)

于 2013-04-09T17:56:15.983 に答える
0

欠落</option>しており、オプションには値がなく、ラベルだけがあります。

<select>次のようになります。

<select name="timein">
    <option value="0">8:00am</option>
    <option value="1">9:00am</option>
    <option value="2">10:00am</option>
    <option value="3">11:00am</option>
    <!-- etc -->
</select>
于 2013-04-09T16:15:56.303 に答える