Sql INSERT kullanarak MySQL veritabanı içine Tarihler girme

3 Cevap php

A better suggestion on how to approach this then what I have done so far would be appreciated. Right now the dates have to be entered in the correct format year-month-day. Is there a way to automate this task more, with drop downs, just not sure how you would combine the information from the drop downs to submit to one field with my sql INSERT INTO command. This is what it looks like for a quick visual site

İşte aşağıda benim kod bir örnektir.

$date = $_POST['date'];
$title = $_POST['title'];
$entry = $_POST['entry'];





if(($date !="") && ($title !="") && ($entry !="")) {

$sql = "INSERT INTO news (date,title,entry)VALUES(
\"$date\",
\"$title\",
\"$entry\"
)";

$results = mysql_query($sql)or die(mysql_error());

}
?>







<form name="formS" method="post" action="insert.php">
<p>
Date:<input type="text" name="date" id="date" />

</p>

<p>
Title<input type="text" name="title" id="title" />
</p>
<p>
Entry:<textarea name ="entry"  ></textarea>
</p>

<p>
Submit:<input type="submit" name="submit" id="submit" />
</p>


</form>

3 Cevap

Bir serbest form tarih giriş alanı sizin ihtiyaçlarınıza bağlı olarak, ince olabilir. Bu onlar bir tarih girmek nasıl insanlara esneklik bir çok verecektir. Birisi "Dün" ya da "7 gün önce" girerse Örneğin, bu çalışacaktır.

$date = date("Y-m-d", strtotime($_POST['date']));

Demo:

$date_expressions = array(
    "yesterday",
    "tomorrow",
    "7 days ago",
    "next year",
    "last month",
    "10 jan 08"
);

date_default_timezone_set("America/Los_Angeles");

echo "<pre>";
foreach ($date_expressions as $date_expression) {
    $date = date("Y-m-d", strtotime($date_expression));
    echo "{$date_expression} = {$date}\n";
}
echo "</pre>";

Çıktı (10-9-2009 idam):

yesterday = 2009-10-08
tomorrow = 2009-10-10
7 days ago = 2009-10-02
next year = 2010-10-09
last month = 2009-09-09
10 jan 08 = 2008-01-10

Sadece kutuları aşağı birden düşmesi gibi tarihi kabul ve sonra veritabanında girmeden önce bunları birleştirebilirsiniz

$date = $_POST['dateyear']."-".$_POST['datemonth']."-".$_POST['dateday'];

Eğer tarih için birden fazla giriş varsa, bu gibi birleştirebilirsiniz:

$date = sprintf('%04d-%02d-%02d', $_POST['date_year'], $_POST['date_month'], $_POST['date_day']);