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

مساعدة فى اعلان يكون بمدة زمنية ويختفى عند انتهاء المدة ارجو المساعدة للضرورة

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

انا عاوزة احط اعلان بمدة زمنية معينه يعنى مثلا عاوزة احط اعلان بنر يوم 12 -1-2012ينتهي في 12 -2-2012

دول جدولين قاعددة البيانات الخاصة به

-- --------------------------------------------------------

-- 
-- Table structure for table `e3lan`
-- 

CREATE TABLE `e3lan` (
  `e3lan_id` int(11) NOT NULL auto_increment,
  `e3lan_name` varchar(255) NOT NULL default '',
  `e3lan_pic` varchar(255) NOT NULL default '',
  `e3lan_site` varchar(255) NOT NULL default '',
  `time_stay` int(11) NOT NULL default '0',
  PRIMARY KEY  (`e3lan_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1256 PACK_KEYS=0 AUTO_INCREMENT=5 ;

-- 
-- 
-- Table structure for table `stay`
-- 

CREATE TABLE `stay` (
  `stay_id` int(11) NOT NULL auto_increment,
  `time_stay` int(11) NOT NULL default '0',
  PRIMARY KEY  (`stay_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1256 AUTO_INCREMENT=2 ;

-- 
-- Dumping data for table `stay`
--

انا عملت ملف الادخال فى القاعدة وشغال تمام لكن طريقة ظهور الاعلان وينتهى بوقت معين مش عارفة ؟ هل فى حد يفيدني

ودا ملف ادخال الاعلان فى قاعدة البيانات

<?include("config.php");?>
<form method="POST" action="insert_e3lan.php" enctype="multipart/form-data">
	<div align="center">
		<table border="1" width="307" id="table1" cellspacing="0" cellpadding="0" bordercolor="#E8E8E8">
			<tr>
				<td bgcolor="#DB5D62" colspan="2">
				<p align="center"><b><font color="#FFFFFF">إضافة 
				<span lang="ar-eg">إعلان مميز</span></font></b></td>
			</tr>
			<tr>
				<td width="205" align="center">
				<p align="center">
				<input type="text" name="e3lan_name" size="32" dir="rtl"></td>
				<td width="96" align="center">اسم <span lang="ar-eg">الإعلان</span></td>
			</tr>
			<tr>
				<td width="205" align="center">
				<input type="text" name="e3lan_site" size="32" dir="rtl"></td>
				<td width="96" align="center"><span lang="ar-eg">موقع الإعلان</span></td>
			</tr>
			<tr>
				<td width="205" align="center">
				<input type="text" name="ex_press" size="32" dir="rtl"></td>
				<td width="96" align="center"><span lang="ar-eg">عدد النقرات</span></td>
			</tr>
			<tr>
				<td width="205" align="center">
				<input type="file" name="pic" size="18" dir="rtl"></td>
				<td width="96" align="center"><span lang="ar-eg">صورة الإعلان</span></td>
			</tr>
		</table>
	</div>
	<p align="center"><input type="submit" value="ارسال" name="B1"></p>
</form>
<form method="POST" action="update_settime.php">
	<p align="center">وقت بقاء الإعلان<br>
	<?
$sql2="select time_stay from stay where stay_id=1 ";
$Result2=mysql_query($sql2);
while($Row2=mysql_fetch_array($Result2))
{
extract($Row2);
?>
<input type="text" name="time_stay" size="20" value="<?=$time_stay;?>" dir="rtl">
<?
}
?>
	</p>
	<p align="center"><input type="submit" value="تعديل الوقت" name="B2"></p>
</form>
<p align="center"> </p>
<div align="center">
	<table border="1" width="388" id="table2" cellspacing="0" cellpadding="0" bordercolor="#E8E8E8">
		<tr>
			<td bgcolor="#DB5D62" align="center" width="63" height="22">
			<font color="#FFFFFF"><b>حذف</b></font></td>
			<td bgcolor="#DB5D62" align="center" width="74" height="22">
			<font color="#FFFFFF"><b>تعديل</b></font></td>
			<td bgcolor="#DB5D62" align="center" height="22"><font color="#FFFFFF"><b>اسم 
			<span lang="ar-eg">الإعلان</span></b></font></td>
		</tr>


		<?

		$select="select * from e3lan where e3lan_id>=1";
		$Result=mysql_query($select);
		while($Row=mysql_fetch_array($Result))
		{
		extract($Row);
		?>

		<tr>
			<td align="center" width="63">
			<a href="delete_e3lan.php?e3lan_id=<?=$e3lan_id?>">
			<span style="text-decoration: none; font-weight: 700">
			<font color="#000000">حذف</font></span></a></td>
			<td align="center" width="74">
			<span style="text-decoration: none; font-weight:700">
			<a href="edit_e3lan.php?e3lan_id=<?=$e3lan_id?>"><font color="#000000">
			<span style="text-decoration: none">تعديل</span></font></a></span></td>
			<td align="center"><span lang="en-us"><b><?=$e3lan_name;?></b></span></td>
		</tr>
		<?
		}
		?>



	</table>
</div>
#2

السلام عليكم

قمت بعمل دالة تعتمد على دالة التاريخ date فى لغة php وهى دالة تعطينا تاريخ ووقت السرفر يمكن الإطلاع عليها على الرابط التالى

الدلة هى ()insideDate تستخدم على الشكل التالى :

$startDate = array("Y"=>2012,"m"=>1,"d"=>27);
$endDate = array("Y"=>2013,"m"=>5,"d"=>28);
if(insideDate($startDate,$endDate)) 
	echo "إظهار الإعلان";
else
	echo "عدم إظهارة";

فهى دالة تأخذ تاريخ البداية والنهاية فى مصفوفة كما هو واضح من الكود السابق وتعود بالقيمة true إذا كان التاريخ الحالى للسرفر فى مدى التاريخ المدخل للدالة وتعيد false إن لم يكن فى المدى المطلوب .

وهذا ملف الدالة

date.php

أرجو تجربة الدالة وإخطارنا إن كانت بها أى أخطاء

ربما يكون هناك طريقة أسهل من هذا لعمل المطلوب ولكن هذا ما خطر على ذهنى حالياً .

تم تعديل هذه المشاركة بواسطة ahmedsaoud31 في 26 مايو 2012 في 09:17

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#3

شاكرة ومقدرة لتعبك فى الرد ووضع المطلوب لكن كل ما اريدة هوا كود لاظهار بنر كصورة ,,,,, يعتمد على جداول قاعدة البيانات المرفقة بالمووضوع والتى يتم ادخلها عن طريق الفورم ايضا المدرج

وكل ما اريدة هوا صفحة عرض للبنر الذى يختفى بمجرد انتهاء الوقت المضاف عن طريق هذا الفورم المدرج بالموضوعا لانو الطريقة الى ارفقتها مطولة وما فيها الى عوزاة تحديداً

#4

السلام عليكم

الدالة تفى بالغرض تحديداً يبدو أنك لم تحاولى إستخدامها , عموماً المطلوب هو تغيير خانة وقت بقاء الإعلان فى قاعدة البيانات إلى تاريخ بداية الإعلان وتاريخ نهاية الإعلان , ويتم إدخالهم من خلال فورم الإعلان وتخزينهم فى قاعدة البيانات ثم بعد ذلك عند عملية عرض الإعلان يتم مقارنة التاريخ الحالى بتاريخ البداية والنهاية للإعلان من قاعدة البيانات كما تم شرحة فى المشاركة السابقة بإستخدام الدالة أعلاه .

عموماً يمكنك إستخدام دالة ()time بحيث يتم تخزين الوقت فى قاعدة البيانات على شكل وقت Timestamp حتى نستطيع التعامل معه بسهولة لاحقاً ويتم هذا عن طريق الأتى :

بما أن المستخدم سيقوم بإدخال وقت مدة الإعلان بالأيام إذاً لتحويلة للثوانى يتم ذلك عن طريق ضرب ( عدد الأيام * 24 * 60 * 60 ) لإعطائنا القيمة بالثوانى ثم جمعها على قيمة Timestamp الحالية من خلال دالة time ثم تخزين القيمة فى قاعدة البيانات .

ثم يتم إظهار الإعلان مادامت قيمة Timestamp الحالية أقل من القيمة المخزنة فى قاعدة البيانات .

ويكون كود إظهار الإعلان على الشكل التالى :

if(time()<$time_stay)
    echo "إظهر الإعلان";
else
    echo "عدم إظهار الإعلان";

تم تعديل هذه المشاركة بواسطة ahmedsaoud31 في 26 مايو 2012 في 22:54

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

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

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

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

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

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