PDA

View Full Version : سوال: چگونگی ایجاد شرط در هنگام آپدیت کوئری



hamed-php
سه شنبه 29 آذر 1390, 11:48 صبح
سلام

چگونه هنگامی که مقادیری را در دیتابیس update میکنیم ، یک شرط هم بگذاریم .
مثلاً اگر name=hamed بود آپدیت عمل نکند و در غیر این صورت اسامی جدید رو برای name بپذیرد

ممنون اگر راهنمایی فرمایید

mtchabok
سه شنبه 29 آذر 1390, 13:03 عصر
$query = 'update `test` set `name`="exam2" where `name`<>"exam1"';

hamed-php
سه شنبه 29 آذر 1390, 14:38 عصر
سلام

ممنون - آیا ترکیب هم میشه کرد مثلاً شرط اول & شرط دوم
یا استفاده از or برای برقراری یکی از شروط

alireza.stack
سه شنبه 29 آذر 1390, 14:42 عصر
برای ترکیب شرط ها می بایست از AND و یا OR بصورت مقابل استفاده شود:
where id=1 or id=2

hamed-php
سه شنبه 29 آذر 1390, 14:56 عصر
در هنگام آپدیت من میخواهم در صورتی که مثلاً اسم خودم رو فرستادم دیگه نشه اون رو آپدیت کرد ولی بقیه اسمها تا وقتی حامد نشدن امکان تغییر داشته باشند.



$sql = "update `nametable` set ".

"`firstname`='".$value->name . "' ".


"where `id`=".$value->id;

alireza.stack
سه شنبه 29 آذر 1390, 15:07 عصر
خب خیلی راحت بگید تا زمانی که name<>'hamed' است بروز رسانی را انجام دهد. (اگر منظور شما این باشد)
update tbl_name SET name="value" where name<>"hamedd"l

hamed-php
سه شنبه 29 آذر 1390, 15:59 عصر
خب خیلی راحت بگید تا زمانی که name<>'hamed' است بروز رسانی را انجام دهد. (اگر منظور شما این باشد)
update tbl_name SET name="value" where name<>"hamedd"l
درسته حامد تغییر نمیکنه ولی در این صورت تمام غیر حامد ها یکجا هم اسم میشوند چون طبق فرمایش شما ما گفته ایم هر جا که مخالف حامد بود، اسم جدید رو جایگزین کن.
به خاطر همین id رو هم فرستادم چون در جدول ممکنه بیش از یک حامد وجود داشته باشد.

به این صورت اصلاح شد:


"where `firstname`<> 'Hamed' AND `id`=".$value->id;


good work