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

كيف يمكن عمل كود للحذف التقائي

بدأه man in dark في 20 أغسطس 2008 · 4 رد · 943 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني كيف يمكن عمل كود للحذف التقائي مثلا لو اريد حذف البيانات التي ادخلت قبل شهر

قاعدة البيانات

-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
-- 
-- المزود: localhost
-- أنشئ في: 20 أغسطس 2008 الساعة 11:45
-- إصدارة المزود: 5.0.22
--  PHP إصدارة: 4.4.4
-- 
-- قاعدة البيانات: `test`
-- 

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

-- 
-- بنية الجدول `data`
-- 

CREATE TABLE `newaj` (
  `id` int(4) NOT NULL auto_increment,
  `name` varchar(60) NOT NULL,
  `user` varchar(60) NOT NULL,
  `mokadate` varchar(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=83;

-- 
-- إرجاع أو إستيراد بيانات الجدول `newaj`
-- 

INSERT INTO `newaj` (`id`, `name`, `user`, `mokadate`) VALUES 
(1, 'محمد', '545', '1223371200'),
(2, 'احمد', '545', '1223371200'),
(3, 'خالد', '11', '1218402000'),

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

1223371200=2008-07-10

1218402000=2008-08-10

اريد كود يحذف البيانات اذا كانت التاريخ اكثر من شهر

#2

السلام عليكم

الفكرة

ان تقوم بوضع حقل جديد بقاعدة البيانات باسم مثلا ftimestamp من نوع int بحجم 10

وتضيف له قيمة TimeStamp اثناء الاضافة ويمكنك اضافتها فى php من خلال الدالة

time()

اما الحذف التلقائى

فانشئ ملف به كود الحذف للسجلات التى يقل فيها قيمة حقل ftimestamp عن TimeStamp + 2592000

و 2592000 = عدد الثوانى فى الشهر (شهر 30 يوم)

يمكنك استخدام اسلوب التشغيل التلقائى كل يومتبعا للخادم الخاص بك باستخدام المهام المجدولة

او يمكنك تشغيل الملف تلقائيا مع كل دخول للصفحة الرئيسية لموقع دون استخدام المهام المجدولة

بالتوفيق

" وما توفيقى إلا بالله عليه توكلت وإليه أنيب "
-------------------------------------------------
قل : " لا حول ولا قوة إلا بالله "
-------------------------------------------------

#3

اخي الفاروق

لقد سويت قاعدة بيانات و التاريخ يكون مخزن في قاعدة البيانات بالدالة time

بس لو اتمكن من عمل كود الحذف بحيث يحذف البيانات التي اكثر من شهر

كود الحذف

// get value of id that sent from address bar
$id=$_GET['id'];


// Retrieve data from database
$delete = mysql_query("
	DELETE FROM {$tbl_name} WHERE id = {$id}
");

ارجو مساعدتي في عمل هذا الكود

#4

السلام عليكم

اجعل حقل mokadate حقل رقمى int

ثم نفذ الاستعلام التالى

  1. $delete = mysql_query("
  2. DELETE FROM $tbl_name WHERE mokadate > ".(time()-2592000) .")
  3.  

جرب واخبرنى

تم تعديل هذه المشاركة بواسطة اا الفاروق اا في 21 أغسطس 2008 في 18:46

" وما توفيقى إلا بالله عليه توكلت وإليه أنيب "
-------------------------------------------------
قل : " لا حول ولا قوة إلا بالله "
-------------------------------------------------

#5

يجب ان تقوم بتشغيل ملف الحذف التلقائي بشكل دوري. وهذا يتطلب اضافة مهمة تلقائية للخادم كما ذكر في الاعلى. ما هو نوع الخادم؟ اهو لينكس ام ويندوز؟

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