بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

نمایش پیغام در insert (حل شد)

مدیریت گفتگو
علی 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام و درود :

من یه سری داده رو بر حسب شماره موبایل  که در اندروید هست می فرستم سمت سرور و ذخیره میشه.

حالا می خوام یه بار بتونه با اون شماره موبایل ذخیره کنه . فقط چطوری پیغام بدم یعنی چک کنه اگر شماره موبایل از یکی بیشتر بود echo کنه ؟  شماره موبایل : User_login

 function insert(){
    $connection = connectToDatabase();
    $User_login = $_REQUEST['User_login'];
    $Name = $_REQUEST['Name'];
    $Name_bank = $_REQUEST['Name_bank'];
    $Sh_cart = $_REQUEST['Sh_cart'];
    mysqli_query($connection, "INSERT INTO cooperation_price VALUES (0,'$User_login','$Name','$Name_bank','$Sh_cart')");
   

    mysqli_close($connection);
}

نظرات

Mr Mehdi 11 سال پیش
منظورتون اینه که بررسی کنه ببینه شماره تلفن ثبت شده یا نه؟
علی 11 سال پیش
نه منظورم اینه یه بار ثبت بشه و دفعه ی بعد نیاد دوباره ثبت کنه.
علیرضا 11 سال پیش
سلام دوست عزیز: اگه منظور شما اینکه دوباره نیاد شماره ای که قبلا در دیتابیس ثبت کرده رو دوباره ثبت کنه قبل insert شما باید بیای یه select انجام بدی بگی اگه این مقادیر قبلا ثبت شده بود مثلا یه پیغام به کاربر بده در غیر این صورت شماره رو در دیتابیس ذخیره کنه
علی 11 سال پیش
من php بلد نیستم میشه شما کد رو بنویسید؟ و یه پیغام هم بده وقتی دفعه اول عمل inser صورت گرفت.

پاسخ‌ها 4

علیرضا 11 سال پیش

این  وقت به عنوان یه نمونه کد نوشتم :

 <?php 


$result_select=mysqli_query($connection,"SELECT * FROM `tbl_name` WHERE `mobile`='".$MobileNumber."' ");
			
			if(mysqli_num_rows($result_select)>=1)
			{
				echo "خطاا : این شماره از قبل در دیتابسی ذخیره شده";
			}
			else{
			 $result_insert=mysqli_query($connection, "INSERT INTO cooperation_price VALUES (0,'$User_login','$Name','$Name_bank','$Sh_cart')");
			
			if($result_insert)
			{
				echo"اطلاعات شما با موفقیت در دیتابیس ذیره شد";
			}
			else{
				echo "خطا : مشکل در ثبت اطلاعات";
			}
} ?>

نظرات

Mr Mehdi 11 سال پیش

نه اصلا اینقدر کار لازم نیست فقط یه IGNORE بعد از INSERT باید گذاشته بشه. اینطوری: 

 mysqli_query($connection,"INSERT IGNORE INTO cooperation_price VALUES (0,'$User_login','$Name','$Name_bank','$Sh_cart')");

نظرات

علی 11 سال پیش

 Mr Mehdi  این دقیقا میاد چکار میکنه؟ پیغام رو چطور نشون بدم و اگه دفعه دوم خواست ثبت کنه ثبت نشه. البته کد آقا علی رضا درست بود ولی تعداد خط کد ها زیاد. من اینطوری می خوام مهدی جان . حالا با کد شما چطور میشه؟

 function insert(){
$connection = connectToDatabase();
$User_login = $_REQUEST['User_login'];
$Name = $_REQUEST['Name'];
$Name_bank = $_REQUEST['Name_bank'];
$Sh_cart = $_REQUEST['Sh_cart'];

$result=mysqli_query($connection, "SELECT * FROM cooperation_price WHERE User_login='$User_login'");

if(mysqli_num_rows($result)>=1)
{
echo "اطلاعات حساب شما ثبت شده است، جهت ویرایش دکمه تغییر را کلیک کنید.";
}
else{
$result_insert=mysqli_query($connection, "INSERT INTO cooperation_price VALUES (0,'$User_login','$Name','$Name_bank','$Sh_cart')");
}
if($result_insert)
{
echo "اطلاعات شما با موفقیت ثبت شد.";
}

mysqli_close($connection);
}

نظرات

Mr Mehdi 11 سال پیش
مطمئن نیستم اما فک کنم توی این روش میاد بر اساس Primary Key ای که توی تیبل انتخاب کردی اگه Primary Key تکراری بود دیگه اضافه نمی کنه و از همون اطلاعات قبلی استفاده می کنه. حتما هم باید Primary Key ای که انتخاب می کنید id نباشه چون id خود به خود اضافه میشه (مثلا میتونید از شماره تلفن به عنوان Primary Key استفاده کنید). راه دقیقی هم برای پیام نمی دونم تو این روش اما خیلی راحت تر از اون روشه.
Mr Mehdi 11 سال پیش
فک کنم پاسخی که از طرف سرور میاد و ریخته میشه توی $result_insert اینه که اضافه شده یا نه و میتونید از اون برای نشون دادن جواب استفاده کنید.
Mr Mehdi 11 سال پیش
عذرخواهی می کنم بخاطر پیام دوباره اما علاوه بر اینکه Primary Key رو بررسی می کنه ستون هایی که Unique هم هستند بررسی میشن. فقط کافیه توی دیتابیستون ستون مربوط به شماره موبایل رو Unique کنید. اما دقیق نمی دونم از طرف سرور چه پاسخی دریافت میشه که بشه باهاش پیام ها رو نشون داد.
علیرضا 11 سال پیش

از این کد استفاده کنید امیدوارم جواب بده ، چند نکته بابت کد:

 example.php صفحه ای  که  پیام توش نشون داده میشه ،ومقادیر  به بصورت GET_$ ارسال میشه  ، برای نشون دادن پیام تو صفحه از این کد استفاده کن :(وقت یه مقدار تو جدول حتما باید unique باشه مثلا اینجا title داخل جدول unique هست)

//exmple.php , for message
if(isset($_GET['sucess'])) { echo "sucess"; }elseif(isset($_GET['fail'])) { echo "fail"; }
//کد مربوط به insert
$sql=mysqli_query($connection,"INSERT IGNORE INTO `exaple_post` (`title`,`content`) VALUES ('".$title."', '".$content."')"); if(mysqli_num_rows($sql)>0) { header("location:example.php?sucess=2020"); exit; } else { header("location:example.php?fail=1010"); exit; }

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .