PDA

View Full Version : زخیره تاریخ در دیتا بیس و خواندن آن



hamidhassas
شنبه 17 دی 1390, 16:02 عصر
من از لینک زیر تبدیل تاریخ میلادی به هجری شمسی رو گرفتم و از آن استفاده کرده ام
http://jdf.scr.ir/rahnama/?t=mobtadi

میخوام وقتی که یک کاربر ثبت نام میکنه تاریخ هجری شمسی که توسط کد سایت بالا نمایش داده شده است در دیتا بیس زخیره بشه و همون تاریخ رو بتونم جای دیگه ای نمایش بدم.

اگه راه دیگه ای بجز راه بالا میدونید ممنون میشم بگید.

خواهشن توضیح یادتون نره من تازه کارم و از کد هایی که می نویسید سر در نمیارم

ravand
شنبه 17 دی 1390, 23:47 عصر
بهتره اول تاريخ ميلادي رو به ديتابيس وارد كني و سپس در هنگام چاپ اون رو به تاريخ شمسي تبديل كني. اينطوري ميتوني براي آرشيو بهتر ازش كمك بگيري
lمثلا اين يه نمونه كاربردش :

http://barnamenevisi.blogsky.com/1390/09/20/post-90/

1390/09/20/post-90

hamidhassas
یک شنبه 18 دی 1390, 00:50 صبح
میشه کد کاری رو که میگید قرار بدین و همینطور طرز ساخت فیلدی که تاریخ در اون زخیره میشه در دیتا بیس

ravand
یک شنبه 18 دی 1390, 11:25 صبح
براي وارد كردن به اين روش عمل كن :

<?php
$handle=mysql_connect('localhost','root','');
if($handle==false){
die("can not connect mysql.\r\n");
}
$db=mysql_select_db('cms2');
if($db==false){
die("can not connect db.\r\n");
}
$id= $_POST['id'];
$title= $_POST['title'];
if($title=="")
die('فيلد خالي است');
$msg= $_POST['msg'];
if($msg=="")
die('فيلد خالي است');


$date=date('l, j F Y');


$query = "INSERT INTO jadval SET msg = '$msg',title='$title',date='$date'";
$result=mysql_query($query,$handle);
if($result==false){
die("error with query\r\n");
}
$num=mysql_affected_rows($handle);
if($num==1){
echo "تغییر یافت ";
}
else
if($num == 0){
echo"تغییر نیافت ";
}
mysql_close($handle);
?>


براي چاپ هم از اين كد براي تاريخ شمسي استفاده كن :

include('jdf.php');
بايد اين فايل رو هم داشته باشي.

نكته اينكه فيلد تاريخ شما بايد از نوع date (براي تاريخ) يا datetime ( براي تاريخ و ساعت )باشه.
براي شمسي كردن تاريخ از اين روش استفاده ميكنند:

<?php
include('jdf.php');
$date=jdate('l, j F Y');
echo "$date";
?>

hamidhassas
یک شنبه 18 دی 1390, 16:53 عصر
من تاریخ رو در یک text قرار دادم و بعد در داخل یک فیلد از نوع TEXT در دیتابیس زخیره و بازیابی می کنم فقط میخواستم بدونم آیا امکان داره به جای اینکه تاریخ رو در یک text قرار بدم مثل visual stadio اون رو در یک label قرار بدم و بعد اون رو داخل دیتابیس بریزم

ravand
یک شنبه 18 دی 1390, 17:38 عصر
اگه ديدي من به شما گفتم تاريخ رو اول به ميلادي در ديتابيس ثبت كن بعد وقتي خواستي چاپش كني به شمسي تبديل كن براي اينه كه اين فيلد از نوع datetime يا date تاريخ شمسي رو نميشه بهش وارد كرد. چون فقط براي ميلادي ساخته شده.
بعد ميتوني اگه براي سايتت استفاده ميكني براي قسمت آرشيو راحت تر ازش استفاده كني

hamidhassas
یک شنبه 18 دی 1390, 17:50 عصر
چه طور امکان داره شما تاریخ شمسی رو به کاربر نشون بدی و بعد اگر تاریخ رو کاربر تغییر داد تاریخ میلادی هم تغییر کنه و بعد تاریخ میلادی در دیتا بیس زخیره بشه
تاریخ هم به صورت 3 تا Select List Menu که هر کدام به ترتیب روز و ماه و سال رو درست مال همون روز نشون بده و بعد اگر کاربر مثلا روز را تغییر داد تاریخ میلادی هم تغییر کنه و بعد تاریخ وارد دیتا بیس بشه

اگه امکان داره پروژه را نوشته و بعد برای دانلود قرار بدبن چون در اینجا کد هایی که نوشته میشه همه را من در یک خط می بینم.

ravand
یک شنبه 18 دی 1390, 18:03 عصر
خوب تاريخ ميلادي رو تغيير بده كه شمسي تغيير كنه.
اگه مي بيني سورسي كه ارسال ميشه در يك خط هست براي اينه كه شما از مرورگر اكسپلورر استفاده ميكني از كروم و فايرفاكس استفاده كن.