رفتن به مطلب

اضافه کردن رکورد به دیتابیس ( فقط 50 عدد ) با php و بیسیک


arastooms

ارسال‌های توصیه شده

سلام به همه اساتید عزیزم 
مخصوصا دوستانی که از راهنمایی شاگردانی مبتدی مثل بنده دریغ نمیکنند و اطلاعاتشون رو با کمال محبت در اختیار دوستان قرار میدن

سوال : من از برنامه داخل بیسیک 4 داده رو از کاربر میگیرم و ارسال میکنم به یک فایل php در هاست 
این داده ها عبارتند از 

اسم 
فامیل
نام گروه 
گزارش گروه

خوب این داده ها ارسال میشه و بعد میام این داده ها رو توسط فایل php وارد یک دیتابیس میکنم به اسم 
database_sport و داخل یک جدول از این دیتابیس به اسم tabel_user
در این دیتابیس کاربران برنامه بعد از وارد کردن 4 داده اون ها رو به دیتابی وارد میکنند 
و بعد در جای دیگه در برنامه اون ها رو میگیرم و نشون میدم به همه ( در واقع یه گزارشی رو ارسال میکنند از فعالیت ورزشی خودشون )

مشکل:

الان بعد از گذشت 2 ماه استفاده دیتابیس خیلی حجیم شده و  تصمیم گرفتیم که فقط 20 ارسال آخر هر گروه رو داشته باشیم 
یعنی برای مثال ( گروه"فوتیال") که ارسال میکنه داده ای رو به دیتابیس
باید بیایم ببینیم که چند تا رکورد در دیتابیس در ستون ( نام گروه ) برابر فوتبال هست 
اگر این تعداد رکورد خانده شده کمتر از 20 بود خوب اون داده رو ثبت کنه 
ولی اگر 20 تا بود بیاد آخری رو که مربوط به فوتبال هست پاک کنه که بشه 19 تا و این رو اضافه کنه 

اینطوری از هر گروهی فقط 20 تا ارسال آخرش تو دیتابیس میمونه و شلوغ نمیشه 

ولی نمیدونم چه طور این شرط رو بنویسم در php 
که بیا ببین اگر 20 قدیمی ترین رو پاک کن این رو اضافه کن 


ممنون میشم راهنمایی بفرمایید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام خوبی ارسطو جان

<?php
$Hostname = "localhost";
$Username = "***";
$Password = "***";
$Dbname = "***";
$con = mysqli_connect($Hostname,$Username,$Password,$Dbname);
if (!$con) {
	die(mysqli_error($con));
}
mysqli_query($con,"SET CHARACTER SET utf8");
mysqli_query($con,"SET NAMES 'utf8'");
mysqli_query($con,"SET character_set_results = 'utf8'");

$text = $_POST['txt'];

$sql = "SELECT * FROM TestRecord WHERE Type = 'football'";
$res = mysqli_query($con,$sql);
$Data = array();
if (mysqli_num_rows($res) < 5) {      //====> inja bejay 5 tedad ro bezar
	$sql2 = "INSERT INTO TestRecord(Type,Text) VALUES ('football','$text')";
	if (mysqli_query($con,$sql2) === true) {
		echo 'new record added';
	}else{
		echo "Error : " . mysqli_error($con);
	}
}else {
	while($row = mysqli_fetch_assoc($res)) {
		$Data[] = $row;
	}
	$last_postid = $Data[0]["id"];
	$sql3 = "DELETE FROM TestRecord WHERE id = '$last_postid'";
	if (mysqli_query($con,$sql3) === true) {
	
		$sql4 = "INSERT INTO TestRecord(Type,Text) VALUES ('football','$text')";
		if (mysqli_query($con,$sql4) === true) {
			echo "done";
		}else{
			echo "Error : " . mysqli_error($con);
		}
		
	}else{
		echo "Error : " . mysqli_error($con);
	}
}
mysqli_close($con);

?>

ببین اول میایم متنی که میخوایم رو اضافه کنیم رو میگیریم میریزیم تو $text بعد تو کوئری میگیم بیا رکورد هایی رو انتخاب کن که type شون football هستش بعد پایین میایم میگیم اگه تعداد رکورد ها کمتر از 5 تا بود (که تو 20 میخای) بیا داده جدید رو اضافه کن

اگه نبود بیا همشونو بگیر بریز تو ارایه Data$ و یه متغییر داریم به اسم last_postid که توش ما ایدی اولین رکورد اون داده ها رو قرار دادیم که یعنی میشه قدیمیترین پستمون بعد اومدیم اون رکورد رو حذف کردیم و جدیده رو اضافه کردیم

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...