1

我正在用 php 构建一个时间线站点。时间线上的条目通过 html 输入表单输入到数据库中。

下面是我用来从 html 表单中获取输入值并将它们存储在数据库中的 php:

// Collects information from the forms //
$year = mysql_prep($_POST['year']);
$concept = mysql_prep($_POST['concept']);
$author = mysql_prep($_POST['author']);
$text = mysql_prep($_POST['text']);
$century = mysql_prep($_POST['century']);
$file_under = mysql_prep($_POST['file_under']);
$pic=($_FILES['photo']['name']);

$query = "INSERT INTO fields (year, concept, author, text, century, 
                              file_under, photo, created, modified) 
          VALUES ('{$year}', '{$concept}', '{$author}', '{$text}', '{$century}',
                             '{$file_under}', '{$pic}', NOW(), NOW())";
$result = mysql_query($query, $connection);
    if ($result) {
        redirect_to("index.php");
    } else {
    //display error message
    echo "<p>Yikes!</p>";
    echo "<p>" . mysql_error() . "</p>";
    }

现在这对我的目的来说很好,但我仍然需要输入一个世纪值。我希望 php 根据 4 位数年份确定世纪。

我想获取 4 位year值并使用它来确定century将存储在数据库中的值。

例如,如果输入的年份是 2002 年,我需要将“21”作为“世纪”数据库中的值。现在,我必须手动输入“21”(或任何一个世纪),因为这个值对于内容如何在时间轴上显示很重要(即,$query = "SELECT * FROM fields WHERE century = '21' ORDER by year ASC";

最好的方法是什么?

4

1 回答 1

0

$ Century = substr($year, 0, 2) + 1;

应该做的伎俩。也许添加一些验证以确保 $year 是数字(也许它已经完成)。

于 2012-06-25T02:31:09.493 回答