الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البحث من جدول من خلال تاريخين يتم ادخالها من المستخدم ؟؟

بدأه hanon_abha في 31 يوليو 2011 · 3 رد · 600 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .. كيف اطبع بيانات جدول ما من تاريخ يدخله الباحث الى تاريخ اخر مدخل من قبل الباحث ايضا علما ان التاريخ يخزن في الداتابيز على شكل yyyy-mm-dd ؟؟

#2

لنفترض أن التاريخين موجودان في المتغيرين $date1 و $date2، والجدول يحتوي على عمودين date1 و date2

ال sql query سيكون على هذا الشكل

$query = "SELECT * FROM yourTable WHERE date1>='$date1' AND date2<='$date2'";
#3

أخي الكريم يمكنك فعل ذلك بطريقتين :

  • الطريقة الأولى
-بعد أن و ضعت فورم ليدخل بها المستخدم تاريخ البداية و النهاية في ملف اسمه مثلاform.php
<html>
<body>
<form  method="post" action="read.php"> 
<p>statr:</p><input name="date_req_beg" id="date_req_beg" type="text" >
<br>
<p>end:</p><input name="date_req_end" id="date_req_end" type="text" >
<br><br>
<input type="submit" value="post request" >
</form>
</body>
</html>


-نضع الملف read.php الذي سنقرأ منه قواعد البيانات التي اسميتها test و اسم الجدول فيها member ( مؤلف من ثلاث خانات fn و ln و date)و عندما نمر على كل سطر (fetch row)في هذا الجدول نأخذ خانة الdate
ثم نأخذ القيمة العددية للجزء المعبر عن السنين و هو أول أربع محارف من المتغير

 $y[2]

و نجري المقارنة مع القيمة العددية لأول أربع محارف للـتاريخين المدخلين حيث سيقوم التابع بتحويل النص لعدد مثال "2010"->2010

 intval(substr());


و هكذا سنفعل بالنسبة للأيام و للأشهر ، و إليك الكود الذي فقط يحتاج إلى تكملة المقارنات .

<?
$con=MYSQL_connect("localhost","root","abc123");
mysql_select_db("test",$con);
$sql="select * from mamber ";
$x=mysql_query($sql);
echo("first name 	last name	date");
while($y=mysql_fetch_row($x))
{if(intval(substr($y[2],0,4)<=$POST["date_req_end"]&&(intval(substr($y[2],0,4)>=$POST["date_req_start") )
echo("$y[0] 	$y[1]	$y[2]");
}
?>


  • الطريقة الثانية:

عند إنشاء الجدول ضع خانة للايام و خانة للأشهر و خانة للسنين و لكن على أن تكون ذات قيم عددية و عندها عند ارسال الطلب حدد الشرط مثال:

 $sql="select * from mamber WHERE .....;

تم تعديل هذه المشاركة بواسطة yahya91 في 31 يوليو 2011 في 14:25

#4

الموضوع بسيط جدا ماتستخدم BETWEEN و هيا ها تحللك كل حاجة و ها اكتبلك ال syntax :-

SELECT * FROM emp WHERE dob BETWEEN '$sdate' AND '$edate'

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…