رفتن به مطلب

چک کردن وجود یک رکورد در یک تیبل با استفاده از کلاس 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 مقدار مورد نظر رو قرار بدید

  • امتیاز 1
لینک به ارسال
در ۱ ساعت قبل، 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

 

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

لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...