رفتن به مطلب

چک کردن وجود یک رکورد در یک تیبل با استفاده از کلاس wpdb


پست های پیشنهاد شده

سلام بر دوستان و اساتید

در حال کدنویسی یک پلاگین هستم که پلاگین بنده یک تیبل جدید در دیتابیس وردپرس ایجاد میکنه تیبل ایجاد شده شامل سه ستون هست که عبارت است از id و link و source_name حالا اگر بخوام با کلاس wpdb چک کنم یه مقدار خاصی توی ستون link هست باید از کدوم متد این کلاس و چگونه استفاده کنم؟

تشکر

ویرایش شده توسط mehran-b
لینک به ارسال

از متد get_row یا get_var استفاده کنید

$ret = $wpdb->get_var("select id from table where link='xXx'");
if(empty($ret))
echo 'not found';
else
echo 'found';

جای table اسم جدول و جای xXx مقدار مورد نظر رو قرار بدید

لینک به ارسال
در ۱ ساعت قبل، lord_viper گفته است :

از متد get_row یا get_var استفاده کنید


$ret = $wpdb->get_var("select id from table where link='xXx'");
if(empty($ret))
echo 'not found';
else
echo 'found';

جای table اسم جدول و جای xXx مقدار مورد نظر رو قرار بدید

جناب @lord_viper موردی که شما فرمودید صد در صد درسته ولی نمیدونم چرا درست عمل نمیکنه.

من تابعی که برای این کار نوشتم رو قرار میدم اگر نظری داشتید بگید.

<?
function nap_add_post_to_db($post_links = array(), $source_name) {
	global $wpdb;
	
	if(!empty($post_links)) :
	
	$table_name = NAPTABLE;
	
		foreach($post_links as $link) :
		
		if(is_null($wpdb->get_var("SELECT id FROM $table_name WHERE link='$link'")))
			$wpdb->query($wpdb->prepare("INSERT INTO $table_name (link, source_name) VALUES (%s, %s)", $link, $source_name));
		
		endforeach;
	
	endif;
	
}
?>

 

ویرایش شده توسط mehran-b
لینک به ارسال

سلام وقت بخیر سوالم کمی بی ربطه و چون فقط من از این روش برای یک افزونه که دارم مینویسم استفاده کردم میپرسم . من میخوام یک سری داده رو فقط به خود کاربر الصاق کنم یعنی اینکه من یه جدول مشخصات خرید دارم ( فروشگاه انلاین نیست و باید دستی وارد بشه ) ولی باید هر کاربر بینه

از این روش اتصال من پایگاه داده رو متصل شدم و مشکلی ندارم و الان فقط میخوام بدونم چه طوری میشه که بتونم بگم کاربر رو انتخاب کنه و بعد داده ها رو بهش وصل کنه یعنی من توی ورودی بزنم کاربر شماره 1 فلان مقدار بعد همون کاربر هم بتونه ببینه

لینک به ارسال

جناب @lord_viper مشکل حل شد.

علت ایجاد مشکل طولانی بودن لینک ها بود که برای حل این مشکل از هر لینک یک هش با الگوریتم SHA256 ساختم و ستونی که هش توش ذخیره میشد رو Primary کردم در نتیجه دیگه اصلا احتیاج نیست که وجود لینک در تیبل رو بررسی کنم.

لینک به ارسال
در 16 ساعت قبل، mbm159 گفته است :

سلام وقت بخیر سوالم کمی بی ربطه و چون فقط من از این روش برای یک افزونه که دارم مینویسم استفاده کردم میپرسم . من میخوام یک سری داده رو فقط به خود کاربر الصاق کنم یعنی اینکه من یه جدول مشخصات خرید دارم ( فروشگاه انلاین نیست و باید دستی وارد بشه ) ولی باید هر کاربر بینه

از این روش اتصال من پایگاه داده رو متصل شدم و مشکلی ندارم و الان فقط میخوام بدونم چه طوری میشه که بتونم بگم کاربر رو انتخاب کنه و بعد داده ها رو بهش وصل کنه یعنی من توی ورودی بزنم کاربر شماره 1 فلان مقدار بعد همون کاربر هم بتونه ببینه

سوال شما به این تاپیک مربوط نیست

جواب:

شما باید برای در جدول خود برای داده ها یک فیلد user_id در نظر بگیرید که id کاربر مورد نظر رو درونش قرار بدید با این کار به راحتی میتونین با یک سلکت اطلاعات هر کاربر رو بیرون بکشین

مثلا

select * from table where user_id=1

 

لینک به ارسال

 

در در ۱۳۹۶/۵/۱۶ ه‍.ش. at 14:56، lord_viper گفته است :

سوال شما به این تاپیک مربوط نیست

جواب:

شما باید برای در جدول خود برای داده ها یک فیلد user_id در نظر بگیرید که id کاربر مورد نظر رو درونش قرار بدید با این کار به راحتی میتونین با یک سلکت اطلاعات هر کاربر رو بیرون بکشین

مثلا


select * from table where user_id=1

 

بسیار سپاسگذارم . ممنون از نظرتون بله میدونم مربوط نیست ولی خب من درمانده بودم چ کنم مچکرم ک جواب دادین امتحان میکنم اطلاع میدم .

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...