PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : Query ما بین دو تاریخ



aghaee
February 4th, 2011, 01:23
سلام
میخوام به کمک php از قسمتی از اطلاعات دیتابیسم بک اپ بگیرم

مثلا:
اطلاعات تاریخ | برج 8 رو بصورت بک آپ بده بهمون!

تاریخ بصورت 15/5/1387 توی دیتابیس ذخیره شده

ممنون میشم راهنمایی کنید

با تشکر

aghaee
February 4th, 2011, 01:27
سلام
من میخوام توی یک فرم تمام فیلد های ثبت شده ما بین دو تاریخ مشخص رو نشون بده

فیلد date در حدول به صورت 15/5/1387 ثبت شده

چطوری ما بین دو تاریخ نشون بدم؟
چطوری فیلد های ماه رو نشون بدم؟ مثلا فیلد های ثبت شده در برج 6 رو نشون بده

ممنون میشم راهنمایی کنید :53:
با تشکر

---------- Post added at 01:27 AM ---------- Previous post was at 12:58 AM ----------

سوال دوم::

ترکیب رشته با متغییر


$name = "ali";


$message = "اطلاعات شما توسط کاربر متغیر نام ویرایش شد";

این مقدار رو چطوری با هم تلفیق کنم؟
میخوام بین اون جمله نام کاربری رو اضافه کنم و در دیتابیس ذخیره بشه

ممنون میشم راهنمایی کنید

teztop
February 4th, 2011, 08:50
اولی رو نمی دونم اما دومی به این صورته
$message = اطلاعات شما توسط ".$name." ویرایش شد";

the_coder
February 4th, 2011, 09:27
1-سلام از این query استفاده کنید :


SELECT * FROM table
WHERE tarikh BETWEEN '2011-02-03' AND '2011-02-09'2- به این صورت :

echo $message = "اطلاعات شما توسط کاربر ".$name." ویرایش شد";";فقط یک نکته :
چون ممکنه اسم کاربر انگلیسی باشه و نوشته شما فارسی هست . ترکیب این 2 رشته به هم میریزه به همین علت بهتره نتیجه رو داخل یک div با direction rtl قرار بدید به این صورت :

<div style="direction:rtl">
<?php
echo $message = "اطلاعات شما توسط کاربر ".$name." ویرایش شد";
?>
</div>

Maysam.M
February 4th, 2011, 10:36
سلام

the_coder جان
این کد اول برای تاریخ های شمسی هم جواب میده؟

the_coder
February 4th, 2011, 10:47
سلام
بله جواب میده
البته کلا اگر با تاریخ می خواید کار کنید بهتره شمسی کار نکنید یعنی تمام تصمیم گیری ها و عملیات رو انجام بدبد بعد تبدیل کنید شمسی و نمایش بدید

teztop
February 4th, 2011, 13:22
اگر جدول char یا varchar باشه هم این فرمول جواب میده ؟ منظورم اینکه فرمتش date نباشه ؟

the_coder
February 4th, 2011, 13:23
بله varchar باشه جواب میده
char هم برای اینکه دقیق کار کنه باید تعدادش رو دقیقا به تعداد تاریخ در نظر بگیرید وگرنه ممکنه دچار مشکل شه
چون varchar به صورت اتوماتیک تعداد خانه های اضافی رو حذف می کنه اما char خیر
در کل همیشه بهتره از varchar استفاده کنید تا char

Talahost.Com
February 4th, 2011, 14:13
بهتره همیشه تاریخ رو بصورت فرمت یونیکس (timestamp) ذخیره کنید.
در این صورت هم تبدیل تاریخ ها بسیار راحت هست (شمسی به میلادی و ...) و هم تاریخ با تمام جزئیات (حتی ثانیه و دقیقه) در یک عدد 8 تا 10 رقمی (دقیق نمی دونم) ذخیره می شه.
کوری زدن هم بسیار راحت می شه. (اختلاف دو عدد صحیح و سپس تبدیل به فرمت قابل فهم برای انسان)
تبدیل time zone هم همین طور به راحتی قابل انجام هست.

Rezash
February 4th, 2011, 21:11
بهتره همیشه تاریخ رو بصورت فرمت یونیکس (timestamp) ذخیره کنید.
در این صورت هم تبدیل تاریخ ها بسیار راحت هست (شمسی به میلادی و ...) و هم تاریخ با تمام جزئیات (حتی ثانیه و دقیقه) در یک عدد 8 تا 10 رقمی (دقیق نمی دونم) ذخیره می شه.
کوری زدن هم بسیار راحت می شه. (اختلاف دو عدد صحیح و سپس تبدیل به فرمت قابل فهم برای انسان)
تبدیل time zone هم همین طور به راحتی قابل انجام هست.

100 درصد موافقم
در اين صورت هم ميتونيد از روشي كه دوستمون گفت (BETWEEN) استفاده كنيد و هم از توابع پيش فرض mysql براي تاريخ و زمان
علاوه بر اين امكان مانور دادن روي تاريخ براتون خيلي راحت تر ميشه.

---------- Post added at 10:11 PM ---------- Previous post was at 09:53 PM ----------


سلام
میخوام به کمک php از قسمتی از اطلاعات دیتابیسم بک اپ بگیرم

مثلا:
اطلاعات تاریخ | برج 8 رو بصورت بک آپ بده بهمون!

تاریخ بصورت 15/5/1387 توی دیتابیس ذخیره شده

ممنون میشم راهنمایی کنید

با تشکر

اينم همين سوال همين تاپيك بود براي همين ادغام كردم
خود عمل بك آپ كه ميشه select
ولي براي اينكه مثلا يك ماه رو بگيريد مثلا ماه ده از سال 1389 كافيه كوئري رو از 1/10/1389 تا 31/10/1389 بذاريد (between)

Maysam.M
February 5th, 2011, 13:20
یعنی اگر تاریخ رو به صورت اعداد 10 رقمی مثل 1290675399 ذخیره کنیم باز هم میتونیم از between استفاده کنیم؟! میشه بیشتر توضیح بدید. اگه نه چطوری میتونیم از بین تاریخ کوئری بگیریم؟

Talahost.Com
February 5th, 2011, 13:50
بله می تونید
تاریخ اول یک عدد صحیح است
تاریخ دوم هم عدد صحیح است
(این عددها تعداد ثانیه از تاریخ 1 ژانویه 1970 هست)
تاریخ ها را که از هم کم کنید یک عدد صحیح دیگه به دست میاد. (اختلاف به ثانیه هست)
ثانیه رو می تونید به روز، سال و ... تبدیل کنید.

Maysam.M
February 5th, 2011, 22:59
بله می تونید
تاریخ اول یک عدد صحیح است
تاریخ دوم هم عدد صحیح است
(این عددها تعداد ثانیه از تاریخ 1 ژانویه 1970 هست)
تاریخ ها را که از هم کم کنید یک عدد صحیح دیگه به دست میاد. (اختلاف به ثانیه هست)
ثانیه رو می تونید به روز، سال و ... تبدیل کنید.

یعنی برای گرفتن یک کوئری که بین دو تاریخ است می توان از between استفاده کرد؟ مثلا این طوری:

SELECT * FROM table
WHERE tarikh BETWEEN '1290675399' AND '1296562370'

Rezash
February 5th, 2011, 23:36
بله.