0

このページへの送信時に日付を自動的に追加する方法を教えてもらえますか? DB ID は「table1」、フィールド ID は「date」です。

私のコード:

<?php

if (isset($_POST["submit"]) && $_POST["submit"] == "Submit")
{
    for ($count = 1; $count <= 9; $count++)
    {
        $fields[$count] = "";
        if (isset($_POST["field" . $count . ""]))
        {
            $fields[$count] = trim($_POST["field" . $count . ""]);
            //echo $fields[$count] . "<br />";
        }
    }

    $con = mysql_connect("local", "user", "pass");
    mysql_select_db("DB", $con);

    $carriername = mysql_real_escape_string($_POST['carriername']);
    $fromzip = mysql_real_escape_string($_POST['fromzip']);
    $tozip = mysql_real_escape_string($_POST['tozip']);
    $typeofequipment = mysql_real_escape_string($_POST['typeofequipment']);
    $weight = mysql_real_escape_string($_POST['weight']);
    $length = mysql_real_escape_string($_POST['length']);
    $paymentamount = mysql_real_escape_string($_POST['paymentamount']);
    $contactperson = mysql_real_escape_string($_POST['contactperson']);
    $loadtype = mysql_real_escape_string($_POST['loadtype']);

    $insert = "INSERT INTO table1 (`carriername` ,`fromzip` ,`tozip` ,`typeofequipment` ,`weight` ,`length` ,`paymentamount` ,`contactperson` ,`loadtype`) VALUES('$carriername' ,'$fromzip' ,'$tozip' ,'$typeofequipment' ,'$weight' ,'$length' ,'$paymentamount' ,'$contactperson' ,'$loadtype');";
    mysql_query($insert) or die(mysql_error());

    $select = "SELECT `carriername` ,`fromzip` ,`tozip` ,`typeofequipment` ,`weight` ,`length` ,`paymentamount` ,`contactperson` ,`loadtype` FROM `table1` ORDER BY `paymentamount` DESC;";
    $result = mysql_query($select) or die(mysql_error());
}
?>
</script>
<style ="text-align: center; margin-left: auto; margin-right: auto;"></style>
</head>
<body>
<div
 style="border: 2px solid rgb(0, 0, 0); margin: 16px 20px 20px; width: 400px; background-color: rgb(236, 233, 216); text-align: center; float: left;">
<form action="" method="post";">
  <div
  style="margin: 8px auto auto; width: 300px; font-family: arial; text-align: left;"><br>
  <table style="font-weight: normal; width: 100%; font-size: 12px;"
 border="1" bordercolor="#929087" cellpadding="6" cellspacing="0">
   <table
 style="font-weight: normal; width: 100%; text-align: right; font-size: 12px;"
 border="1" bordercolor="#929087" cellpadding="6" cellspacing="0">
    <tbody>
    <tr>
    <td style="width: 10%;">Carrier:</td><td>
 <?php  

$con = mysql_connect("local", "user", "pass");
    mysql_select_db("DB", $con);

$query=("SELECT * FROM table2"); 

$result=mysql_query($query) or die ("Unable to Make the Query:" . mysql_error() ); 
echo "<select name=carriername>";   

while($row=mysql_fetch_array($result)){  

echo "<OPTION VALUE=".$row['carriername'].">".$row['carriername']."</OPTION>"; 
} 

echo "</select>";  


?>
              </td>
        </tr>
        <tr>
              <td style="width: 35%;">Pick Zip:</td><td> <input id="fromzip" name="fromzip" maxlength="50"
 style="width: 100%;" type="text">
        </tr>
        <tr>
              <td style="width: 35%;">Drop Zip:</td><td> <input id="tozip" name="tozip" maxlength="50"
 style="width: 100%;" type="text">
        </tr>
        <tr>
              <td style="width: 35%;">Load Type:</td><td> <input id="loadtype" name="loadtype" maxlength="50"
 style="width: 100%;" type="text">
        </tr>
        <tr>
              <td style="width: 35%;">Rate:</td><td> <input id="paymentamount" name="paymentamount" maxlength="50"
 style="width: 100%;" type="text">
        </tr>
          </tbody>
  </table>
  <p style="text-align: center;"><input name="submit" value="Submit"
 class="submit" type="submit"></p>
  </div>
</form>
</div>
<p style="margin-bottom: -20px;">&nbsp;</p>
</body>
4

4 に答える 4

2

次のように、クエリでCURRENT_TIMESTAMP関数を使用できます。

INSERT INTO table1 (carriername, ..., CURRENT_TIMESTAMP)

あなたのフィールドがタイプの場合TIMESTAMP

タイプが のDATE場合は、 を使用できますNOW()

フィールドのデフォルト値を持つようにテーブルを設定することもできます(CURRENT_TIMESTAMP挿入するときは空白のままにしておきます:

CREATE TABLE  `database`.`test` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

PHP で実行する場合は、日付を次のように挿入/フォーマットします。 date("m/d/y g:i A");

于 2012-11-06T18:06:00.613 に答える
0

とにかくテーブルを更新する場合は、 を使用するのと同じくらい簡単なことを行うことができますNOW()。この例は次のようになります。

UPDATE table1 SET date=NOW()

このルートに進む場合は、フィールドdateがタイプであることを確認してください。を使用して、エントリが編集されるたびにフィールドを更新するDATETIMEこともできます。TIMESTAMPこれを作成するには、列を作成し、データ型を TIMESTAMP に設定します。

CREATE TABLE test (
    last_edited TIMESTAMP 0 ON UPDATE CURRENT_TIMESTAMP
);

これにより、テーブル (test) と 1 つの列 (last_edited) が作成され、デフォルト値が に設定されます0。このレコードが何らかの方法で編集されるたびに、列 last_edited が日時で更新されます。

もう少し詳しい情報については、このリンクをチェックしてください: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

于 2012-11-06T18:07:16.633 に答える
0

phpMyAdmin で日付列を DATETIME として設定し、デフォルト値を「CURRENT TIMESTAMP」に設定します。これにより、行が挿入されるたびに日付が現在の時刻の値を取得し、行とともに自動的に保存されます。日付の値を作成する必要はありません。このように各挿入の列...

于 2012-11-06T18:07:47.833 に答える
0

datetable1 への挿入で列への参照が表示されません。現在の日付を挿入する場合は、挿入値を NOW() に設定します。

于 2012-11-06T18:03:20.260 に答える